Interface Java NavigableMap
Interface Java NavigableMap
Dans ce tutoriel, nous allons découvrir l'interface Java NavigableMap et ses méthodes à l'aide d'un exemple.
Le NavigableMap
L'interface 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
Depuis NavigableMap
est une interface, nous ne pouvons pas créer d'objets à partir de celle-ci.
Afin d'utiliser les fonctionnalités du NavigableMap
interface, nous devons utiliser le TreeMap
classe qui implémente NavigableMap
.
Comment utiliser NavigableMap ?
En Java, il faut importer le java.util.NavigableMap
package à utiliser NavigableMap
. Une fois le package importé, voici comment créer une carte navigable.
// NavigableMap implementation by TreeMap class
NavigableMap<Key, Value> numbers = new TreeMap<>();
Dans le code ci-dessus, nous avons créé une carte navigable nommée numbers du TreeMap
classe.
Ici,
- Clé - un identifiant unique utilisé pour associer chaque élément (valeur) dans une carte
- Valeur - éléments associés par clés dans une carte
Méthodes de NavigableMap
Le NavigableMap
est considéré comme un type de SortedMap
. C'est parce que NavigableMap
étend le SortedMap
interface.
Par conséquent, tous les SortedMap
les méthodes sont également disponibles en NavigableMap
. Pour savoir comment ces méthodes sont définies dans SortedMap
, visitez Java SortedMap.
Cependant, certaines des méthodes de SortedMap
(headMap()
, tailMap()
, et subMap()
) sont définis différemment dans NavigableMap
.
Voyons comment ces méthodes sont définies dans NavigableMap
.
headMap(clé, valeur booléenne)
Le headMap()
La méthode renvoie toutes les entrées d'une carte navigable associées à toutes ces clés avant la clé spécifiée (qui est passé en argument).
La booleanValue est un paramètre facultatif. Sa valeur par défaut est false
.
Si true
est passé en tant que booleanValue , 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)
Le tailMap()
La méthode renvoie toutes les entrées d'une carte navigable associées à toutes ces clés après la clé spécifiée (qui est passé en argument) incluant l'entrée associée à la clé spécifiée .
La booleanValue est un paramètre facultatif. Sa valeur par défaut est true
.
Si false
est passé en tant que booleanValue , 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 .
sousCarte(k1, bv1, k2, bv2)
Le subMap()
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 .
Le bv1 et bv2 sont des paramètres facultatifs. La valeur par défaut de bv1 est vrai et la valeur par défaut de bv2 est false
.
Si false
est passé comme 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 true
est passé comme 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 NavigableMap
fournit 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
- ceilingEntry() - 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
- ceilingKey() - renvoie la clé la plus basse parmi les clés supérieures ou égales à la clé spécifiée
- floorEntry() - renvoie 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() - renvoie 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() - renvoie 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
- premièreentrée() - renvoie la première entrée (l'entrée avec la clé la plus basse) de la carte
- dernièreEntrée() - renvoie la dernière entrée (l'entrée avec la clé la plus élevée) de la carte
- pollFirstEntry() - renvoie et supprime la première entrée de la carte
- pollLastEntry() - renvoie et supprime la dernière entrée de la carte
Pour en savoir plus, visitez Java NavigableMap (documentation officielle de Java).
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<String, Integer> 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());
}
}
Sortie
NavigableMap: {One=1, Three=3, Two=2} First Entry: One=1 Last Entry: Two=2 Removed First Entry: One=1 Removed Last Entry: Two=2
Pour en savoir plus sur TreeMap
, visitez Java TreeMap.
Maintenant, nous connaissons le NavigableMap
interface, nous apprendrons sa mise en œuvre en utilisant le TreeMap
classe en détail dans le prochain tutoriel.
Java