Interfaz Java NavigableMap

En este tutorial, aprenderemos sobre la interfaz Java NavigableMap y sus métodos con la ayuda de un ejemplo.

La NavigableMapinterfaz del marco de trabajo de colecciones de Java proporciona las funciones para navegar entre las entradas del mapa.

Se considera como un tipo de SortedMap.

Clase que implementa NavigableMap

Dado que NavigableMapes una interfaz, no podemos crear objetos a partir de ella.

Para usar las funcionalidades de la NavigableMapinterfaz, necesitamos usar la TreeMapclase que implementa NavigableMap.

¿Cómo utilizar NavigableMap?

En Java, debemos importar el java.util.NavigableMappaquete a utilizar NavigableMap. Una vez que importamos el paquete, así es como podemos crear un mapa navegable.

 // NavigableMap implementation by TreeMap class NavigableMap numbers = new TreeMap(); 

En el código anterior, hemos creado un mapa navegable llamado números de la TreeMapclase.

Aquí,

  • Clave: un identificador único que se utiliza para asociar cada elemento (valor) en un mapa.
  • Valor: elementos asociados por claves en un mapa

Métodos de NavigableMap

Se NavigableMapconsidera un tipo de SortedMap. Es porque NavigableMapextiende la SortedMapinterfaz.

Por lo tanto, todos los SortedMapmétodos también están disponibles en NavigableMap. Para saber cómo se definen estos métodos SortedMap, visite Java SortedMap.

Sin embargo, algunos de los métodos de SortedMap( headMap(), tailMap()y subMap()) se definen de manera diferente en NavigableMap.

Veamos cómo se definen estos métodos en NavigableMap.

headMap (clave, booleanValue)

El headMap()método devuelve todas las entradas de un mapa navegable asociadas con todas esas claves antes de la clave especificada (que se pasa como argumento).

BooleanValue es un parámetro opcional. Su valor predeterminado es false.

Si truese pasa como booleanValue, el método devuelve todas las entradas asociadas con todas esas claves antes de la clave especificada, incluida la entrada asociada con la clave especificada.

tailMap (clave, booleanValue)

El tailMap()método devuelve todas las entradas de un mapa navegable asociadas con todas esas claves después de la clave especificada (que se pasa como argumento), incluida la entrada asociada con la clave especificada.

BooleanValue es un parámetro opcional. Su valor predeterminado es true.

Si falsese pasa como booleanValue, el método devuelve todas las entradas asociadas con esas claves después de la clave especificada, sin incluir la entrada asociada con la clave especificada.

subMap (k1, bv1, k2, bv2)

El subMap()método devuelve todas las entradas asociadas con claves entre k1 y k2, incluida la entrada asociada con k1.

Bv1 y bv2 son parámetros opcionales. El valor predeterminado de bv1 es verdadero y el valor predeterminado de bv2 es false.

Si falsese pasa como bv1, el método devuelve todas las entradas asociadas con claves entre k1 y k2, sin incluir la entrada asociada con k1.

Si truese pasa como bv2, el método devuelve todas las entradas asociadas con claves entre k1 y k2, incluida la entrada asociada con k1.

Otros metodos

The NavigableMap provides various methods that can be used to locate the entries of maps.

  • descendingMap() - reverse the order of entries in a map
  • descendingKeyMap() - reverses the order of keys in a map
  • ceilingEntry() - returns an entry with the lowest key among all those entries whose keys are greater than or equal to the specified key
  • ceilingKey() - returns the lowest key among those keys that are greater than or equal to the specified key
  • floorEntry() - returns an entry with the highest key among all those entries whose keys are less than or equal to the specified key
  • floorKey() - returns the highest key among those keys that are less than or equal to the specified key
  • higherEntry() - returns an entry with the lowest key among all those entries whose keys are greater than the specified key
  • higherKey() - returns the lowest key among those keys that are greater than the specified key
  • lowerEntry() - returns an entry with the highest key among all those entries whose keys are less than the specified key
  • lowerKey() - returns the highest key among those keys that are less than the specified key
  • firstEntry() - returns the first entry (the entry with the lowest key) of the map
  • lastEntry() - returns the last entry (the entry with the highest key) of the map
  • pollFirstEntry() - returns and removes the first entry of the map
  • pollLastEntry () : devuelve y elimina la última entrada del mapa

Para obtener más información, visite Java NavigableMap (documentación oficial de Java).

Implementación de NavigableMap en la clase TreeMap

 import java.util.NavigableMap; import java.util.TreeMap; class Main ( public static void main(String() args) ( // Creating NavigableMap using TreeMap NavigableMap numbers = new TreeMap(); // Insert elements to map numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("NavigableMap: " + numbers); // Access the first entry of the map System.out.println("First Entry: " + numbers.firstEntry()); // Access the last entry of the map System.out.println("Last Entry: " + numbers.lastEntry()); // Remove the first entry from the map System.out.println("Removed First Entry: " + numbers.pollFirstEntry()); // Remove the last entry from the map System.out.println("Removed Last Entry: " + numbers.pollLastEntry()); ) ) 

Salida

 NavigableMap: (Uno = 1, Tres = 3, Dos = 2) Primera entrada: Uno = 1 Última entrada: Dos = 2 Eliminada Primera entrada: Uno = 1 Eliminada Última entrada: Dos = 2 

Para obtener más información TreeMap, visite Java TreeMap.

Ahora que conocemos la NavigableMapinterfaz, aprenderemos sobre su implementación usando la TreeMapclase en detalle en el próximo tutorial.

Articulos interesantes...