In diesem Tutorial lernen wir anhand eines Beispiels die Java NavigableMap-Oberfläche und ihre Methoden kennen.
Die NavigableMap
Oberfläche des Java-Sammlungsframeworks bietet die Funktionen zum Navigieren zwischen den Karteneinträgen.
Es wird als eine Art SortedMap betrachtet.
Klasse, die NavigableMap implementiert
Da NavigableMap
es sich um eine Schnittstelle handelt, können wir daraus keine Objekte erstellen.
Um die Funktionen der NavigableMap
Schnittstelle nutzen zu können, müssen wir TreeMap
die implementierte Klasse verwenden NavigableMap
.
Wie benutze ich NavigableMap?
In Java müssen wir das java.util.NavigableMap
zu verwendende Paket importieren NavigableMap
. Sobald wir das Paket importiert haben, können wir wie folgt eine navigierbare Karte erstellen.
// NavigableMap implementation by TreeMap class NavigableMap numbers = new TreeMap();
Im obigen Code haben wir eine navigierbare Karte mit den Namen der TreeMap
Klassen erstellt.
Hier,
- Schlüssel - eine eindeutige Kennung, mit der jedes Element (Wert) in einer Karte zugeordnet wird
- Wert - Elemente, die durch Schlüssel in einer Karte verknüpft sind
Methoden von NavigableMap
Das NavigableMap
wird als eine Art von betrachtet SortedMap
. Es liegt daran, dass NavigableMap
die SortedMap
Schnittstelle erweitert wird.
Daher sind alle SortedMap
Methoden auch in verfügbar NavigableMap
. Um zu erfahren, wie diese Methoden definiert sind SortedMap
, besuchen Sie Java SortedMap.
Jedoch einige der Methoden von SortedMap
( headMap()
, tailMap()
, und subMap()
) definiert unterschiedlich NavigableMap
.
Mal sehen, wie diese Methoden in definiert sind NavigableMap
.
headMap (key, booleanValue)
Die headMap()
Methode gibt alle Einträge einer navigierbaren Karte zurück, die allen diesen Schlüsseln vor dem angegebenen Schlüssel zugeordnet ist (der als Argument übergeben wird).
Der booleanValue ist ein optionaler Parameter. Der Standardwert ist false
.
Wenn true
als booleanValue übergeben wird, gibt die Methode alle Einträge zurück, die allen diesen Schlüsseln vor dem angegebenen Schlüssel zugeordnet sind, einschließlich des Eintrags, der dem angegebenen Schlüssel zugeordnet ist.
tailMap (key, booleanValue)
Die tailMap()
Methode gibt alle Einträge einer navigierbaren Karte zurück, die allen diesen Schlüsseln nach dem angegebenen Schlüssel (der als Argument übergeben wird) zugeordnet sind, einschließlich des Eintrags, der dem angegebenen Schlüssel zugeordnet ist.
Der booleanValue ist ein optionaler Parameter. Der Standardwert ist true
.
Wenn false
als booleanValue übergeben wird, gibt die Methode alle Einträge zurück, die diesen Schlüsseln nach dem angegebenen Schlüssel zugeordnet sind, ohne den Eintrag anzugeben, der dem angegebenen Schlüssel zugeordnet ist.
Unterkarte (k1, bv1, k2, bv2)
Die subMap()
Methode gibt alle Einträge zurück, die Schlüsseln zwischen k1 und k2 zugeordnet sind, einschließlich des Eintrags, der k1 zugeordnet ist.
Bv1 und bv2 sind optionale Parameter. Der Standardwert von bv1 ist true und der Standardwert von bv2 ist true false
.
Wenn false
als bv1 übergeben wird, gibt die Methode alle Einträge zurück, die den Schlüsseln zwischen k1 und k2 zugeordnet sind, ohne den mit k1 verknüpften Eintrag einzuschließen.
Wenn true
als bv2 übergeben wird, gibt die Methode alle Einträge zurück, die Schlüsseln zwischen k1 und k2 zugeordnet sind, einschließlich des Eintrags, der k1 zugeordnet ist.
Andere Methoden
Das NavigableMap
bietet verschiedene Methoden, mit denen die Einträge von Karten gefunden werden können.
- descendingMap () - kehrt die Reihenfolge der Einträge in einer Karte um
- descendingKeyMap () - kehrt die Reihenfolge der Schlüssel in einer Karte um
- lidEntry () - gibt einen Eintrag mit dem niedrigsten Schlüssel unter allen Einträgen zurück, deren Schlüssel größer oder gleich dem angegebenen Schlüssel sind
- lidKey () - gibt den niedrigsten Schlüssel unter den Schlüsseln zurück, die größer oder gleich dem angegebenen Schlüssel sind
- floorEntry () - gibt einen Eintrag mit dem höchsten Schlüssel unter allen Einträgen zurück, deren Schlüssel kleiner oder gleich dem angegebenen Schlüssel sind
- floorKey () - gibt den höchsten Schlüssel unter den Schlüsseln zurück, die kleiner oder gleich dem angegebenen Schlüssel sind
- highEntry () - gibt einen Eintrag mit dem niedrigsten Schlüssel unter allen Einträgen zurück, deren Schlüssel größer als der angegebene Schlüssel sind
- highKey () - gibt den niedrigsten Schlüssel unter den Schlüsseln zurück, die größer als der angegebene Schlüssel sind
- lowerEntry () - gibt einen Eintrag mit dem höchsten Schlüssel unter allen Einträgen zurück, deren Schlüssel kleiner als der angegebene Schlüssel sind
- lowerKey () - gibt den höchsten Schlüssel unter den Schlüsseln zurück, die kleiner als der angegebene Schlüssel sind
- firstEntry () - gibt den ersten Eintrag (den Eintrag mit dem niedrigsten Schlüssel) der Karte zurück
- lastEntry () - gibt den letzten Eintrag (den Eintrag mit dem höchsten Schlüssel) der Karte zurück
- pollFirstEntry () - gibt den ersten Eintrag der Karte zurück und entfernt ihn
- pollLastEntry () - gibt den letzten Eintrag der Karte zurück und entfernt ihn
Weitere Informationen finden Sie unter Java NavigableMap (offizielle Java-Dokumentation).
Implementierung von NavigableMap in der TreeMap-Klasse
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()); ) )
Ausgabe
NavigableMap: (Eins = 1, Drei = 3, Zwei = 2) Erster Eintrag: Eins = 1 Letzter Eintrag: Zwei = 2 Erster Eintrag entfernt: Eins = 1 Letzter Eintrag entfernt: Zwei = 2
Weitere TreeMap
Informationen finden Sie unter Java TreeMap.
Nachdem wir die NavigableMap
Schnittstelle kennen, werden wir sie TreeMap
im nächsten Tutorial anhand der Klasse im Detail kennenlernen.