Java NavigableMap-Schnittstelle
Java NavigableMap Interface
In diesem Tutorial lernen wir das Java NavigableMap Interface und seine Methoden anhand eines Beispiels kennen.
Der NavigableMap
Schnittstelle des Java Collections Framework bietet die Funktionen zum Navigieren zwischen den Karteneinträgen.
Es wird als eine Art SortedMap angesehen.
Klasse, die NavigableMap implementiert
Seit NavigableMap
eine Schnittstelle ist, können wir daraus keine Objekte erstellen.
Um die Funktionalitäten des NavigableMap
zu nutzen Schnittstelle, müssen wir den TreeMap
verwenden Klasse, die NavigableMap
implementiert .
Wie verwende ich NavigableMap?
In Java müssen wir den java.util.NavigableMap
importieren Paket, um NavigableMap
zu verwenden . Sobald wir das Paket importiert haben, können wir wie folgt eine navigierbare Karte erstellen.
// NavigableMap implementation by TreeMap class
NavigableMap<Key, Value> numbers = new TreeMap<>();
Im obigen Code haben wir eine navigierbare Karte mit dem Namen numbers erstellt der TreeMap
Klasse.
Hier,
- Schlüssel - eine eindeutige Kennung, die verwendet wird, um jedes Element (Wert) in einer Zuordnung zuzuordnen
- Wert - Elemente, die durch Schlüssel in einer Karte verknüpft sind
Methoden von NavigableMap
Die NavigableMap
wird als eine Art von SortedMap
betrachtet . Weil NavigableMap
erweitert den SortedMap
Schnittstelle.
Daher alle SortedMap
Methoden sind auch in NavigableMap
verfügbar . Um zu erfahren, wie diese Methoden in SortedMap
definiert sind , besuchen Sie Java SortedMap.
Einige der Methoden von SortedMap
(headMap()
, tailMap()
, und subMap()
) sind in NavigableMap
anders definiert .
Sehen wir uns an, wie diese Methoden in NavigableMap
definiert sind .
headMap(Schlüssel, boolescher Wert)
Die headMap()
-Methode gibt alle Einträge einer navigierbaren Karte zurück, die mit all diesen Schlüsseln vor dem angegebenen Schlüssel verknüpft sind (das als Argument übergeben wird).
Der boolesche Wert ist ein optionaler Parameter. Sein Standardwert ist false
.
Wenn true
wird als booleanValue übergeben , gibt die Methode alle Einträge zurück, die all diesen Schlüsseln vor dem angegebenen key zugeordnet sind , einschließlich des Eintrags, der dem angegebenen Schlüssel zugeordnet ist .
tailMap(Schlüssel, boolescher Wert)
Die tailMap()
-Methode gibt alle Einträge einer navigierbaren Karte zurück, die mit all diesen Schlüsseln nach dem angegebenen key verknüpft sind (der als Argument übergeben wird) einschließlich des Eintrags, der dem angegebenen Schlüssel zugeordnet ist .
Der boolesche Wert ist ein optionaler Parameter. Sein Standardwert ist true
.
Wenn false
wird als booleanValue übergeben , gibt die Methode alle Einträge zurück, die diesen Schlüsseln nach dem angegebenen key zugeordnet sind , ohne den mit dem angegebenen key verknüpften Eintrag einzuschließen .
subMap(k1, bv1, k2, bv2)
Der subMap()
-Methode gibt alle Einträge zurück, die Schlüsseln zwischen k1 zugeordnet sind und k2 einschließlich des mit k1 verknüpften Eintrags .
Die bv1 und bv2 sind optionale Parameter. Der Standardwert von bv1 ist wahr und der Standardwert von bv2 ist false
.
Wenn false
wird als bv1 übergeben , gibt die Methode alle Einträge zurück, die Schlüsseln zwischen k1 zugeordnet sind und k2 , ohne den mit k1 verknüpften Eintrag einzuschließen .
Wenn true
wird als bv2 übergeben , gibt die Methode alle Einträge zurück, die Schlüsseln zwischen k1 zugeordnet sind und k2 , einschließlich des mit k1 verknüpften Eintrags .
Andere Methoden
Der NavigableMap
stellt verschiedene Methoden bereit, die verwendet werden können, um die Einträge von Karten zu finden.
- descendingMap() - Reihenfolge der Einträge in einer Karte umkehren
- descendingKeyMap() - Kehrt die Reihenfolge der Schlüssel in einer Karte um
- CeilingEntry() - 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
- ceilingKey() - 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
- höhererEintrag() - 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
- higherKey() - gibt den niedrigsten Schlüssel unter den Schlüsseln zurück, die größer als der angegebene Schlüssel sind
- untererEintrag() - 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
- ersterEintrag() - gibt den ersten Eintrag (den Eintrag mit dem niedrigsten Schlüssel) der Karte zurück
- letzterEintrag() - 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
Um mehr zu erfahren, besuchen Sie 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<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());
}
}
Ausgabe
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
Um mehr über TreeMap
zu erfahren , besuchen Sie Java TreeMap.
Jetzt kennen wir den NavigableMap
-Schnittstelle, lernen wir ihre Implementierung mit dem TreeMap
kennen Klasse im Detail im nächsten Tutorial.
Java
- C#-Schnittstelle
- Java-Operatoren
- Java-Schnittstelle
- Java-Versuch-mit-Ressourcen
- Java NavigableSet-Schnittstelle
- Java-Lambda-Ausdrücke
- Schnittstelle vs. abstrakte Klasse in Java:Was ist der Unterschied?
- Java - Schnittstellen
- Java 9 - Private Schnittstellenmethoden
- Anmelden in Java:Wichtige Tipps, die Sie berücksichtigen sollten