Interface Java NavigableMap

Dans ce tutoriel, nous allons découvrir l'interface Java NavigableMap et ses méthodes à l'aide d'un exemple.

L' NavigableMapinterface du framework de collections Java fournit les fonctionnalités permettant de naviguer parmi les entrées de la carte.

Il est considéré comme un type de SortedMap.

Classe qui implémente NavigableMap

Puisqu'il NavigableMaps'agit d'une interface, nous ne pouvons pas créer d'objets à partir de celle-ci.

Afin d'utiliser les fonctionnalités de l' NavigableMapinterface, nous devons utiliser la TreeMapclasse qui implémente NavigableMap.

Comment utiliser NavigableMap?

En Java, nous devons importer le java.util.NavigableMappackage à utiliser NavigableMap. Une fois que nous importons le package, voici comment créer une carte navigable.

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

Dans le code ci-dessus, nous avons créé une carte navigable nommée les nombres de la TreeMapclasse.

Ici,

  • Clé - un identifiant unique utilisé pour associer chaque élément (valeur) dans une carte
  • Valeur - éléments associés par des clés dans une carte

Méthodes de NavigableMap

Le NavigableMapest considéré comme un type de SortedMap. C'est parce NavigableMapqu'étend l' SortedMapinterface.

Par conséquent, toutes les SortedMapméthodes sont également disponibles dans NavigableMap. Pour savoir comment ces méthodes sont définies dans SortedMap, visitez Java SortedMap.

Cependant, quelques - unes des méthodes de SortedMap( headMap(), tailMap()et subMap()) sont définies différemment dans NavigableMap.

Voyons comment ces méthodes sont définies dans NavigableMap.

headMap (clé, valeur booléenne)

La headMap()méthode renvoie toutes les entrées d'une carte navigable associée à toutes ces clés avant la clé spécifiée (qui est passée en argument).

La valeur booléenne est un paramètre facultatif. Sa valeur par défaut est false.

Si trueest passé en tant que valeur booléenne, la méthode renvoie toutes les entrées associées à toutes ces clés avant la clé spécifiée, y compris l'entrée associée à la clé spécifiée.

tailMap (clé, valeur booléenne)

La tailMap()méthode renvoie toutes les entrées d'une carte navigable associée à toutes ces clés après la clé spécifiée (qui est passée en argument), y compris l'entrée associée à la clé spécifiée.

La valeur booléenne est un paramètre facultatif. Sa valeur par défaut est true.

Si falseest passé en tant que valeur booléenne, la méthode renvoie toutes les entrées associées à ces clés après la clé spécifiée, sans inclure l'entrée associée à la clé spécifiée.

sous-carte (k1, bv1, k2, bv2)

La subMap()méthode renvoie toutes les entrées associées aux clés entre k1 et k2, y compris l'entrée associée à k1.

Les bv1 et bv2 sont des paramètres optionnels. La valeur par défaut de bv1 est true et la valeur par défaut de bv2 est false.

Si falseest passé en tant que bv1, la méthode renvoie toutes les entrées associées aux clés entre k1 et k2, sans inclure l'entrée associée à k1.

Si trueest passé en tant que bv2, la méthode renvoie toutes les entrées associées aux clés entre k1 et k2, y compris l'entrée associée à k1.

Autres méthodes

Le NavigableMapfournit diverses méthodes qui peuvent être utilisées pour localiser les entrées des cartes.

  • descendingMap () - inverser l'ordre des entrées dans une carte
  • descendingKeyMap () - inverse l'ordre des clés dans une carte
  • plafondEntry () - renvoie une entrée avec la clé la plus basse parmi toutes les entrées dont les clés sont supérieures ou égales à la clé spécifiée
  • plafondKey () - retourne la clé la plus basse parmi les clés supérieures ou égales à la clé spécifiée
  • floorEntry () - retourne une entrée avec la clé la plus élevée parmi toutes les entrées dont les clés sont inférieures ou égales à la clé spécifiée
  • floorKey () - renvoie la clé la plus élevée parmi les clés inférieures ou égales à la clé spécifiée
  • HigherEntry () - retourne une entrée avec la clé la plus basse parmi toutes les entrées dont les clés sont supérieures à la clé spécifiée
  • HigherKey () - retourne la clé la plus basse parmi les clés supérieures à la clé spécifiée
  • lowerEntry () - renvoie une entrée avec la clé la plus élevée parmi toutes les entrées dont les clés sont inférieures à la clé spécifiée
  • lowerKey () - renvoie la clé la plus élevée parmi les clés inférieures à la clé spécifiée
  • firstEntry () - renvoie la première entrée (l'entrée avec la touche la plus basse) de la carte
  • lastEntry () - renvoie la dernière entrée (l'entrée avec la clé la plus élevée) de la carte
  • pollFirstEntry () - retourne et supprime la première entrée de la carte
  • pollLastEntry () - retourne et supprime la dernière entrée de la carte

Pour en savoir plus, visitez Java NavigableMap (documentation Java officielle).

Implémentation de NavigableMap dans la classe 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()); ) ) 

Production

 NavigableMap: (Un = 1, Trois = 3, Deux = 2) Première entrée: Un = 1 Dernière entrée: Deux = 2 Supprimée Première entrée: Un = 1 Supprimée Dernière entrée: Deux = 2 

Pour en savoir plus TreeMap, visitez Java TreeMap.

Maintenant que nous connaissons l' NavigableMapinterface, nous allons en apprendre davantage sur son implémentation en utilisant la TreeMapclasse en détail dans le prochain tutoriel.

Articles intéressants...