Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Dominando Java NavigableMap: Características, Métodos e Implementación con TreeMap

Interfaz NavigableMap de Java

Este tutorial explica la interfaz NavigableMap de Java, sus métodos principales y cómo usarla con TreeMap.

La interfaz NavigableMap del framework de colecciones de Java proporciona capacidades de navegación a través de entradas de mapa. Es un SortedMap especializado, extendiendo su funcionalidad con métodos que permiten recorrido bidireccional eficiente.


Clase que Implementa NavigableMap

Como NavigableMap es una interfaz, no puedes instanciarla directamente. La implementación principal es la clase TreeMap, que ofrece una estructura de árbol de búsqueda binario auto-balanceado que mantiene las claves en orden ordenado.

Dominando Java NavigableMap: Características, Métodos e Implementación con TreeMap


Cómo Usar NavigableMap

Primero, importa la interfaz:

import java.util.NavigableMap;
import java.util.TreeMap;

Luego crea una instancia:

// Implementación NavigableMap por clase TreeMap
NavigableMap<Clave, Valor> numeros = new TreeMap<>();

En el código anterior, numeros es un TreeMap que almacena pares clave-valor. Clave es el identificador único, y Valor son los datos asociados.


Métodos Principales de NavigableMap

Todas las operaciones de SortedMap están disponibles, pero varias se sobrescriben para proporcionar control más preciso. Métodos clave incluyen:

headMap(clave, booleanoInclusivo)

Devuelve una vista de la porción del mapa cuyas claves son estrictamente menores que clave cuando booleanoInclusivo es false (por defecto). Si booleanoInclusivo es true, el mapa devuelto incluye la entrada para clave.

tailMap(clave, booleanoInclusivo)

Devuelve una vista de la porción del mapa cuyas claves son mayores o iguales a clave cuando booleanoInclusivo es true (por defecto). Pasar false excluye la entrada de clave.

subMap(desdeClave, desdeInclusivo, hastaClave, hastaInclusivo)

Proporciona una vista entre desdeClave y hastaClave. Los valores por defecto son desdeInclusivo = true y hastaInclusivo = false. Ajustar estas banderas controla si las claves frontera son parte del mapa resultante.


Métodos Adicionales de Navegación

Para la especificación oficial, consulta la documentación de Java NavigableMap.


Ejemplo de Implementación con TreeMap

import java.util.NavigableMap;
import java.util.TreeMap;
class Main {
    public static void main(String[] args) {
        // Creando NavigableMap usando TreeMap
        NavigableMap<String, Integer> numeros = new TreeMap<>();
        // Insertar elementos en el mapa
        numeros.put("Dos", 2);
        numeros.put("Uno", 1);
        numeros.put("Tres", 3);
        System.out.println("NavigableMap: " + numeros);
        // Acceder a la primera entrada del mapa
        System.out.println("Primera Entrada: " + numeros.firstEntry());
        // Acceder a la última entrada del mapa
        System.out.println("Última Entrada: " + numeros.lastEntry());
        // Eliminar la primera entrada del mapa
        System.out.println("Primera Entrada Eliminada: " + numeros.pollFirstEntry());
        // Eliminar la última entrada del mapa
        System.out.println("Última Entrada Eliminada: " + numeros.pollLastEntry());
    }
}

Salida

NavigableMap: {Uno=1, Tres=3, Dos=2} Primera Entrada: Uno=1 Última Entrada: Dos=2 Primera Entrada Eliminada: Uno=1 Última Entrada Eliminada: Dos=2

Aprende más sobre TreeMap en la documentación de Java TreeMap.


Con un sólido entendimiento de la interfaz NavigableMap y su implementación TreeMap, puedes construir estructuras de datos ordenadas eficientes para tus aplicaciones Java.

Java

  1. Dominando el Logging en Java: Mejores Prácticas Esenciales para Código Fiable
  2. Dominando las Interfaces en C#: Definición, Implementación y Casos de Uso Prácticos
  3. Dominar Operadores en Java: Tipos, Sintaxis y Ejemplos Prácticos
  4. Dominando la palabra clave super en Java: Uso avanzado y ejemplos prácticos
  5. Dominando interfaces en Java: Conceptos, implementación y mejores prácticas
  6. Dominando Try‑with‑Resources en Java: Gestión automática de recursos explicada
  7. Dominando la Interfaz NavigableSet de Java: Navegación, Ordenación y Ejemplos Prácticos
  8. Dominando Expresiones Lambda en Java: Desde Básicos hasta Stream API
  9. Interfaz vs Clase Abstracta en Java: Cómo elegir la abstracción correcta
  10. Entendiendo las Interfaces en Java: Definiciones, Usos y Buenas Prácticas
  11. Java 9 Métodos Privados en Interfaces: Mejorar Encapsulamiento y Reutilización de Código