English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In this tutorial, we will learn about the Java NavigableMap interface and its methods through an example.
The NavigableMap interface of the Java collection framework provides the function of navigating between mapping entries.
It is consideredSortedMapa type.
Since NavigableMap is an interface, it is not possible to create an object from it.
To use the functions of the NavigableMap interface, we need to use the TreeMap class that implements NavigableMap.
In Java, we must import the java.util.NavigableMap package to use NavigableMap. After importing the package, NavigableMap will be created as follows.
// NavigableMap由TreeMap类实现 NavigableMap wird durch die Klasse TreeMap implementiert.
NavigableMap<Key, Value> numbers = new TreeMap<>();
Im obigen Code haben wir eine navigable Map namens numbers der Klasse TreeMap erstellt.
Hier, - Key
Einzigartiger Bezeichner, um jedes Element (Wert) im Mapping zu verknüpfen - Value
Methoden von NavigableMap
NavigableMap wird als eine Art von SortedMap betrachtet. Dies liegt daran, dass NavigableMap das SortedMap-Interface implementiert.Daher können in NavigableMap alle Methoden von SortedMap verwendet werden. Um zu verstehen, wie man diese Methoden in SortedMap definiert, besuchen Sie.
Java SortedMap
Aber in NavigableMap sind einige Methoden von SortedMap (headMap(), tailMap() und subMap()) anders definiert.
headMap(key,booleanValue)
Die Methode headMap() gibt alle Einträge zurück, die mit den Schlüsseln vor dem angegebenen Schlüssel verknüpft sind.
booleanValue ist ein optionaler Parameter. Standardwert ist false.
tailMap(key,booleanValue)
Die Methode tailMap() gibt alle Einträge zurück, die mit den Schlüsseln nach dem angegebenen Schlüssel(key) verknüpft sind, einschließlich derjenigen, die mit dem angegebenen Schlüssel(key) verknüpft sind.
booleanValue ist ein optionaler Parameter. Standardwert ist true.
gibt diejenigen zurück, die mit k1und k2Alle Einträge, die mit dem Schlüssel verknüpft sind, einschließlich derjenigen, die mit k1verwandte Einträge.
bv1und bv2ist ein optionaler Parameter. bv1Standardwert ist true, bv2Standardwert ist false.
wenn bv1wenn false, dann gibt diese Methode diejenigen zurück, die mit k1und k2Alle Einträge, die mit dem Schlüssel verknüpft sind, ohne diejenigen, die mit k1Verknüpfte Einträge.
wenn bv2wenn bv1und k2zwischen den Schlüsseln verknüpften alle Einträge, einschließlich derjenigen mit k1Verknüpfte Einträge.
NavigableMap bietet verschiedene Methoden zur Lokalisierung der Einträge im Mapping an.
DescendingMap() - Reversieren der Reihenfolge der Einträge im Map
DescendingKeyMap() - Reversieren der Reihenfolge der Schlüssel im Map
ceilingEntry() - Kleinsten Eintrag zurückgeben, dessen Schlüssel über oder gleich dem angegebenen Schlüssel sind
ceilingKey() - Kleinsten Schlüssel über oder gleich dem angegebenen Schlüssel zurückgeben
floorEntry() - Größten Eintrag zurückgeben, dessen Schlüssel unter oder gleich dem angegebenen Schlüssel sind
floorKey() - Größten Schlüssel unter oder gleich dem angegebenen Schlüssel zurückgeben
HigherEntry() - Kleinsten Eintrag zurückgeben, dessen Schlüssel größer als der angegebene Schlüssel sind
HigherKey() - Kleinsten Schlüssel über dem angegebenen Schlüssel zurückgeben
lowerEntry() - Größten Eintrag zurückgeben, dessen Schlüssel kleiner als der angegebene Schlüssel sind
lowerKey() - Größten Schlüssel unter dem angegebenen Schlüssel zurückgeben
firstEntry() - Ersten Eintrag im Map zurückgeben (Eintrag mit kleinstem Schlüssel)
lastEntry() - Letzten Eintrag im Map zurückgeben (Eintrag mit größtem Schlüssel)
pollFirstEntry() - Ersten Eintrag im Map zurückgeben und löschen
pollLastEntry() - Letzten Eintrag im Map zurückgeben und löschen
import java.util.NavigableMap; import java.util.TreeMap; class Main { public static void main(String[] args) { //NavigableMap durch TreeMap implementieren NavigableMap<String, Integer> numbers = new TreeMap<>(); //Eintrag in das Map-Eingabe numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("NavigableMap: " ); + numbers); //Erste Eintragung im Mapping System.out.println("Erstes Element: " ); + numbers.firstEntry()); //Zugriff auf das letzte Element der Karte System.out.println("Letztes Element: ", + numbers.lastEntry()); //Erstes Element aus der Abbildung löschen System.out.println("Erstes Element löschen: ", + numbers.pollFirstEntry()); //Letztes Element aus dem Diagramm löschen System.out.println("Letztes Element löschen: ", + numbers.pollLastEntry()); } }
Ausgabeergebnis
NavigableMap: {One=1, Three=3, Two=2} Erstes Element: One=1 Letztes Element: Two=2 Erstes Element löschen: One=1 Letztes Element löschen: Two=2
Um mehr über TreeMap zu erfahren, besuchen SieJava TreeMap.
Jetzt, da wir den NavigableMap Schnittstelle kennen, werden wir im nächsten Tutorial die TreeMap Klasse verwenden und ihre Implementierung im Detail verstehen.