English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Java

Contrôle de flux Java

Java Tableau

Java Programmation Orientée Objet (I)

Java Programmation Orientée Objet (II)

Java Programmation Orientée Objet (III)

Gestion des exceptions Java

Java Liste (List)

Java Queue (file d'attente)

Java Map Collections

Java Set Collections

Java Entrée Sortie (I/O)

Java Reader/Writer

Autres sujets Java

Interface Java NavigableMap

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

L'interface NavigableMap du cadre de collections Java fournit des fonctionnalités de navigation entre les entrées de la carte.

Il est considéré commeSortedMapUn type

Les classes qui implémentent NavigableMap

Comme NavigableMap est une interface, il est impossible de créer des objets à partir de celle-ci.

Pour utiliser les fonctionnalités de l'interface NavigableMap, nous devons utiliser la classe TreeMap qui implémente NavigableMap.

Comment utiliser NavigableMap ?

En Java, nous devons importer le paquet java.util.NavigableMap pour utiliser NavigableMap. Après avoir importé le paquet, créez NavigableMap selon la méthode suivante.

// NavigableMap est implémenté par la classe TreeMap.
NavigableMap<Key, Value> numbers = new TreeMap<>();

 Dans le code ci-dessus, nous avons créé une carte navigable de la classe TreeMap appelée numbers.

Ici,

  • Key - Identifiant unique utilisé pour associer chaque élément (valeur) de la carte

  • Value - Éléments associés à la clé dans la carte

Les méthodes de NavigableMap

NavigableMap est considéré comme un type de SortedMap. Cela est dû au fait que NavigableMap hérite de l'interface SortedMap.

Par conséquent, toutes les méthodes de SortedMap peuvent également être utilisées dans NavigableMap. Pour comprendre comment définir ces méthodes dans SortedMap, veuillez consulterJava SortedMap.

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

Voyons comment définir ces méthodes dans NavigableMap.

headMap(key,booleanValue)

La méthode headMap() retourne tous les éléments associés aux clés avant la clé spécifiée (passée en paramètre) pour la carte navigable.

booleanValue est un paramètre optionnel. La valeur par défaut est false.

Si booleanValue vaut true, cette méthode retourne tous les éléments associés aux clés avant celles spécifiées, y compris ceux associés à la clé spécifiée.

tailMap(key,booleanValue)

La méthode tailMap() retourne tous les éléments associés aux clés après la clé spécifiée (key) (passée en paramètre) pour la carte navigable, y compris ceux associés à la clé spécifiée (key).

booleanValue est un paramètre optionnel. La valeur par défaut est true.

Si booleanValue vaut false, cette méthode retourne tous les éléments associés aux clés après la clé spécifiée (key), sans inclure ceux associés à la clé spécifiée (key).

subMap(k1,bv1,k2,bv2)

la méthode subMap() retourne ceux associés à k1et2Tous les éléments associés aux clés entre, y compris ceux associés à k1les éléments associés à ceux-ci.

bv1et bv2est un paramètre optionnel. bv1a pour valeur par défaut true, bv2a pour valeur par défaut false.

si bv1si booleanValue vaut false, cette méthode retourne ceux associés à k1et2Tous les éléments associés aux clés entre, sans inclure ceux associés à k1Entrée associée.

si bv2si c'est true, cette méthode retourne les entrées associées à1et2Toutes les entrées associées aux clés entre1Entrée associée.

Autres méthodes

NavigableMap fournit diverses méthodes utilisables pour localiser des entrées dans la carte.

  • DescendingMap() - Inverser l'ordre des entrées dans la carte

  • DescendingKeyMap() - Inverser l'ordre des clés dans la carte

  • ceilingEntry() - Retourne l'entrée avec la clé minimale des entrées dont les clés sont supérieures ou égales à la clé spécifiée

  • ceilingKey() - Retourne la clé minimale des clés supérieures ou égales à la clé spécifiée

  • floorEntry() - Retourne l'entrée avec la clé maximale des entrées dont les clés sont inférieures ou égales à la clé spécifiée

  • floorKey() - Retourne la clé maximale des clés inférieures ou égales à la clé spécifiée

  • HigherEntry() - Retourne l'entrée avec la clé minimale des entrées dont les clés sont supérieures à la clé spécifiée

  • HigherKey() - Retourne la clé minimale des clés supérieures à la clé spécifiée

  • lowerEntry() - Retourne l'entrée avec la clé maximale des entrées dont les clés sont inférieures à la clé spécifiée

  • lowerKey() - Retourne la clé maximale des clés inférieures à la clé spécifiée

  • firstEntry() - Retourne la première entrée de la carte (l'entrée avec la clé minimale)

  • lastEntry() - Retourne la dernière entrée de la carte (l'entrée avec la clé maximale)

  • pollFirstEntry() - Retourne et supprime la première entrée de la carte

  • pollLastEntry() - Retourne et supprime la dernière entrée de la carte

Implémentation de NavigableMap dans la classe TreeMap

import java.util.NavigableMap;
import java.util.TreeMap;
class Main {
    public static void main(String[] args) {
        //Création d'une NavigableMap en utilisant TreeMap
        NavigableMap<String, Integer> numbers = new TreeMap<>();
        //Insérer des éléments dans la carte
        numbers.put("Two", 2);
        numbers.put("One", 1);
        numbers.put("Three", 3);
        System.out.println("NavigableMap: " ); + numbers);
        //Accès à la première entrée de la carte
        System.out.println("Premier élément: " ); + numbers.firstEntry());
        //Access the last item of the map
        System.out.println("The last item: ", + numbers.lastEntry());
        //Delete the first item from the map
        System.out.println("Delete the first item: ", + numbers.pollFirstEntry());
        //Delete the last item from the map
        System.out.println("Delete the last item: ", + numbers.pollLastEntry());
    }
}

Output result

NavigableMap: {One=1, Three=3, Two=2}
The first item: One=1
The last item: Two=2
Delete the first item: One=1
Delete the last item: Two=2

For more information on TreeMap, please visitJava TreeMap.

Now that we know the NavigableMap interface, we will use the TreeMap class in the next tutorial to understand its implementation in detail.