English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderemos el interfaz Java NavigableMap y sus métodos a través de un ejemplo.
La interfaz NavigableMap de la colección de Java proporciona la función de navegación entre entradas de mapeo.
se considera queSortedMapun tipo de
Dado que NavigableMap es una interfaz, no se puede crear un objeto a partir de ella.
Para utilizar las funciones del interfaz NavigableMap, necesitamos usar la clase TreeMap que implementa NavigableMap.
En Java, debemos importar el paquete java.util.NavigableMap para usar NavigableMap. Después de importar el paquete, crearemos NavigableMap según el siguiente método.
// NavigableMap se implementa mediante la clase TreeMap. NavigableMap<Key, Value> numbers = new TreeMap<>();
En el código anterior, creamos un mapeo navegable llamado numbers de la clase TreeMap.
Aquí,
Key - Identificador único utilizado para asociar cada elemento (valor) en el mapeo
Value - Elementos asociados con la clave en el mapa
NavigableMap se considera un tipo de SortedMap. Esto se debe a que NavigableMap hereda la interfaz SortedMap.
Por lo tanto, también se pueden usar todos los métodos de SortedMap en NavigableMap. Para entender cómo se definen estos métodos en SortedMap, consulteJava SortedMap.
Sin embargo, en NavigableMap se han definido de manera diferente ciertos métodos de SortedMap (headMap(), tailMap() y subMap()).
Vamos a ver cómo definir estos métodos en NavigableMap.
El método headMap() devuelve todos los elementos asociados con las claves antes de la clave especificada (key) en el mapeo navegable.
booleanValue es un parámetro opcional. El valor predeterminado es false.
Si booleanValue es true, este método devolverá todos los elementos asociados con las claves antes de la clave especificada (key), incluyendo los elementos asociados con la clave especificada (key).
El método tailMap() devuelve todos los elementos asociados con las claves después de la clave especificada (key) (pasada como parámetro) en el mapeo navegable, incluyendo los elementos asociados con la clave especificada (key).
booleanValue es un parámetro opcional. El valor predeterminado es true.
Si booleanValue es false, este método devolverá todos los elementos asociados con las claves especificadas (key) después de la clave especificada (key), sin incluir los elementos asociados con la clave especificada (key).
el método subMap() devuelve los elementos asociados con k1y k2Todos los elementos asociados con la clave entre, incluyendo los asociados con k1elementos asociados con bv.
bv1y bv2es un parámetro opcional. bv1su valor predeterminado es true, bv2su valor predeterminado es false.
si bv1devuelve los elementos asociados con k1y k2Todos los elementos asociados con la clave entre, sin incluir los asociados con k1La entrada asociada.
si bv2si bv es true, este método devuelve las entradas asociadas con k1y k2Todas las entradas entre las claves, incluyendo las asociadas con k1La entrada asociada.
NavigableMap proporciona varios métodos útiles para localizar elementos en el mapeo.
DescendingMap() - Invertir el orden de las entradas en el map
DescendingKeyMap() - Invertir el orden de las claves en el map
ceilingEntry() - Devolver la entrada con la clave mínima de todas las entradas cuyas claves son mayores o iguales que la clave especificada
ceilingKey() - Devolver la clave mínima de las claves que son mayores o iguales que la clave especificada
floorEntry() - Devolver la entrada con la clave máxima de todas las entradas cuyas claves son menores o iguales que la clave especificada
floorKey() - Devolver la clave máxima de las claves que son menores o iguales que la clave especificada
HigherEntry() - Devolver la entrada con la clave mínima de todas las entradas cuyas claves son mayores que la clave especificada
HigherKey() - Devolver la clave mínima de las claves que son mayores que la clave especificada
lowerEntry() - Devolver la entrada con la clave máxima de todas las entradas cuyas claves son menores que la clave especificada
lowerKey() - Devolver la clave máxima de las claves que son menores que la clave especificada
firstEntry() - Devolver la primera entrada del map (la entrada con la clave mínima)
lastEntry() - Devolver la última entrada del map (la entrada con la clave máxima)
pollFirstEntry() - Devolver y eliminar la primera entrada del map
pollLastEntry() - Devolver y eliminar la última entrada del map
import java.util.NavigableMap; import java.util.TreeMap; class Main { public static void main(String[] args) { //Crear NavigableMap utilizando TreeMap NavigableMap<String, Integer> numbers = new TreeMap<>(); //Insertar elementos en el map numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("NavigableMap: " ); + numbers); //Acceder al primer elemento del mapeo System.out.println("Primera entrada: " ); + numbers.firstEntry()); //Acceder al último elemento del mapa System.out.println("Último elemento: " + numbers.lastEntry()); //Eliminar el primer elemento del mapeo System.out.println("Eliminar el primer elemento: " + numbers.pollFirstEntry()); //Eliminar el último elemento del mapa System.out.println("Eliminar el último elemento: " + numbers.pollLastEntry()); } }
Resultados de salida
NavigableMap: {One=1, Three=3, Two=2} Primer elemento: One=1 Último elemento: Two=2 Eliminar el primer elemento: One=1 Eliminar el último elemento: Two=2
Para obtener más información sobre TreeMap, visiteJava TreeMap.
Ahora que conocemos el interfaz NavigableMap, utilizaremos el TreeMap en el siguiente tutorial para entender su implementación.