Java NavigableSet-Schnittstelle
Java NavigableSet-Schnittstelle
In diesem Tutorial lernen wir die Java-Schnittstelle NavigableSet und ihre Methoden anhand eines Beispiels kennen.
Der NavigableSet
Die Schnittstelle des Java-Collections-Frameworks bietet die Funktionen zum Navigieren zwischen den Set-Elementen.
Es wird als eine Art SortedSet betrachtet.
Klasse, die NavigableSet implementiert
Um die Funktionalitäten des NavigableSet
zu nutzen Schnittstelle, müssen wir den TreeSet
verwenden Klasse, die NavigableSet
implementiert .
Wie verwende ich NavigableSet?
In Java müssen wir den java.util.NavigableSet
importieren Paket, um NavigableSet
zu verwenden . Sobald wir das Paket importiert haben, können wir wie folgt navigierbare Sätze erstellen.
// SortedSet implementation by TreeSet class
NavigableSet<String> numbers = new TreeSet<>();
Hier haben wir einen navigierbaren Satz namens Zahlen erstellt der TreeSet
Klasse.
Methoden von NavigableSet
Die NavigableSet
wird als eine Art von SortedSet
betrachtet . Das liegt daran, dass NavigableSet
erweitert den SortedSet
Schnittstelle.
Daher alle SortedSet Methoden sind auch in NavigableSet verfügbar . Um mehr über diese Methoden zu erfahren, besuchen Sie Java SortedSet.
Einige der Methoden von SortedSet
(headSet()
, tailSet()
und subSet()
) sind in NavigableSet
anders definiert .
Sehen wir uns an, wie diese Methoden in NavigableSet
definiert sind .
headSet(element, booleanValue)
Die headSet()
-Methode gibt alle Elemente eines navigierbaren Satzes vor dem angegebenen element zurück (das als Argument übergeben wird).
Der boolesche Wert Parameter ist optional. Sein Standardwert ist false
.
Wenn true
wird als booleanValue übergeben , gibt die Methode alle Elemente vor dem angegebenen Element zurück, einschließlich des angegebenen Elements.
tailSet(element, booleanValue)
Die tailSet()
-Methode gibt alle Elemente eines navigierbaren Satzes nach dem angegebenen element zurück (das als Argument übergeben wird) einschließlich des angegebenen Elements.
Der boolesche Wert Parameter ist optional. Sein Standardwert ist true
.
Wenn false
wird als booleanValue übergeben , gibt die Methode alle Elemente nach dem angegebenen Element zurück, ohne das angegebene Element einzuschließen.
subSet(e1, bv1, e2, bv2)
Die subSet()
-Methode gibt alle Elemente zwischen e1 zurück und e2 einschließlich e1 .
Die bv1 und bv2 sind optionale Parameter. Der Standardwert von bv1 ist true
, und den Standardwert von bv2 ist false
.
Wenn false
wird als bv1 übergeben , gibt die Methode alle Elemente zwischen e1 zurück und e2 ohne e1
einzuschließen .
Wenn true
wird als bv2 übergeben , gibt die Methode alle Elemente zwischen e1 zurück und e2 , einschließlich e1 .
Navigationsmethoden
Der NavigableSet
stellt verschiedene Methoden bereit, mit denen durch seine Elemente navigiert werden kann.
- descendingSet() - kehrt die Reihenfolge der Elemente in einer Menge um
- descendingIterator() - gibt einen Iterator zurück, der verwendet werden kann, um in umgekehrter Reihenfolge über eine Menge zu iterieren
- Decke() - gibt das niedrigste Element unter den Elementen zurück, die größer oder gleich dem angegebenen Element sind
- Boden() - gibt das größte Element unter den Elementen zurück, die kleiner oder gleich dem angegebenen Element sind
- höher() - gibt das niedrigste Element unter den Elementen zurück, die größer als das angegebene Element sind
- unten() - gibt das größte Element unter den Elementen zurück, die kleiner als das angegebene Element sind
- pollFirst() - gibt das erste Element aus der Menge zurück und entfernt es
- pollLast() - gibt das letzte Element aus der Menge zurück und entfernt es
Um mehr über NavigableSet
zu erfahren , besuchen Sie Java NavigableSet (offizielle Java-Dokumentation).
Implementierung von NavigableSet in der TreeSet-Klasse
import java.util.NavigableSet;
import java.util.TreeSet;
class Main {
public static void main(String[] args) {
// Creating NavigableSet using the TreeSet
NavigableSet<Integer> numbers = new TreeSet<>();
// Insert elements to the set
numbers.add(1);
numbers.add(2);
numbers.add(3);
System.out.println("NavigableSet: " + numbers);
// Access the first element
int firstElement = numbers.first();
System.out.println("First Number: " + firstElement);
// Access the last element
int lastElement = numbers.last();
System.out.println("Last Element: " + lastElement);
// Remove the first element
int number1 = numbers.pollFirst();
System.out.println("Removed First Element: " + number1);
// Remove the last element
int number2 = numbers.pollLast();
System.out.println("Removed Last Element: " + number2);
}
}
Ausgabe
NavigableSet: [1, 2, 3] First Element: 1 Last Element: 3 Removed First Element: 1 Removed Last Element: 3
Um mehr über TreeSet
zu erfahren , besuchen Sie Java TreeSet.
Jetzt kennen wir den NavigableSet
-Schnittstelle, lernen wir ihre Implementierung mit TreeSet
kennen Klasse.
Java