English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Tutorial lernen wir den Java NavigableSet Interface und seine Methoden durch einen Beispiel.
Die Java Collections Framework Interface NavigableSet bietet die Möglichkeit, zwischen den Elementen einer Sammlung zu navigieren.
Es wird alsEine Art von SortedSet.
Um die Funktionen des Interfaces NavigableSet zu nutzen, müssen wir die Klasse verwenden, die NavigableSet implementiert und von TreeSet abgeleitet ist.
Um die Funktionen des Interfaces NavigableSet zu nutzen, müssen wir die Klasse TreeSet verwenden, die NavigableSet implementiert.
// Implementierung von SortedSet durch die Klasse TreeSet NavigableSet<String> numbers = new TreeSet<>();
Hier haben wir eine navigierbare Sammlung namens numbers der Klasse TreeSet erstellt.
NavigableSet wird als eine Art von SortedSet betrachtet. Dies liegt daran, dass NavigableSet das SortedSet-Interface vererbt.
Daher sind alle Methoden von SortedSet in NavigableSet ebenfalls verfügbar. Um diese Methoden zu verstehen, besuchen SieJava SortedSet.
Allerdings sind in NavigableSet einige Methoden von SortedSet (headSet(), tailSet() und subSet()) anders definiert.
Lassen Sie uns sehen, wie diese Methoden in NavigableSet definiert werden.
Die headSet()-Methode gibt alle Elemente der navigierbaren Sammlung vor dem angegebenen Element zurück (als Parameter übergeben).
Der Parameter booleanValue ist optional. Die Standardwerte sind false.
Wenn der Wert von booleanValue auf true gesetzt ist, gibt diese Methode alle Elemente vor dem angegebenen Element zurück, einschließlich des angegebenen Elements.
tailSet() gibt alle Elemente der navigierbaren Sammlung zurück, die nach dem angegebenen Element (als Parameter übergeben) folgen, einschließlich des angegebenen Elements.
Der Parameter booleanValue ist optional. Standardwert ist true.
Wenn booleanValue falsch ist, gibt diese Methode alle Elemente nach dem angegebenen Element zurück, ohne das angegebene Element zu umfassen.
subSet() Methode gibt e zurück1und e2zwischen allen Elementen, einschließlich e1.
bv1und bv2ist ein optionales Parameter. bv1Standardwert ist true, bv2Standardwert ist false.
wenn false als bv1übergibt, dann gibt diese Methode e zurück1und e2zwischen allen Elementen, ohne e1.
Wenn true als bv2übergibt, dann gibt diese Methode e zurück1und e2zwischen allen Elementen, einschließlich e1.
NavigableSet bietet verschiedene Methoden zur Navigation durch seine Elemente an.
DescendingSet() - Reversieren Sie die Reihenfolge der Elemente in der Sammlung
DescendingIterator() - Geben Sie einen Iterator zurück, der zur Iteration der Sammlung in umgekehrter Reihenfolge verwendet werden kann
ceiling() - Geben Sie das kleinste Element zurück, das größer oder gleich dem angegebenen Element ist
floor() - Geben Sie das größte Element zurück, das kleiner oder gleich dem angegebenen Element ist
Higher() - Geben Sie das kleinste Element zurück, das größer als das angegebene Element ist
lower() - Geben Sie das größte Element zurück, das kleiner als das angegebene Element ist
pollFirst() - Geben Sie das erste Element zurück und löschen Sie es aus der Sammlung
pollLast() - Geben Sie das letzte Element zurück und löschen Sie es aus der Sammlung
import java.util.NavigableSet; import java.util.TreeSet; class Main { public static void main(String[] args) { //NavigableSet mit TreeSet erstellen NavigableSet<Integer> numbers = new TreeSet<>(); //Ein Element in die Sammlung einfügen numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("NavigableSet: " + numbers); //Zugriff auf das erste Element int firstElement = numbers.first(); System.out.println("Erster Element: " + firstElement); //Zugriff auf das letzte Element int lastElement = numbers.last(); System.out.println("Last element: ", + lastElement); //Delete the first element int number1 = numbers.pollFirst(); System.out.println("Delete the first element: ", + number1); //Delete the last element int number2 = numbers.pollLast(); System.out.println("Delete the last element: ", + number2); } }
Output result
NavigableSet: [1, 2, 3] First element: 1 Last element: 3 Delete the first element: 1 Delete the last element: 3
For more information on TreeSet, please visitJava TreeSet.
Since we already know the NavigableSet interface, we will use the TreeSet class to learn its implementation.