Java NavigableSet Interface meistern: Navigation, Sortierung und praktische Beispiele
Java NavigableSet Interface
In diesem Tutorial lernen Sie das Java NavigableSet Interface und seine Methoden anhand von Beispielen kennen.
Das NavigableSet Interface des Java Collections Frameworks bietet Funktionen zur Navigation unter den Mengen-Elementen.
Es wird als eine Art von SortedSet betrachtet.
Klasse, die NavigableSet implementiert
Um die Funktionalitäten des NavigableSet Interfaces zu nutzen, müssen wir die TreeSet Klasse verwenden, die NavigableSet implementiert.
Wie man NavigableSet verwendet
In Java müssen wir das Paket java.util.NavigableSet importieren, um NavigableSet zu verwenden. Nach dem Import können wir navigierbare Mengen wie folgt erstellen:
// SortedSet Implementierung durch TreeSet Klasse
NavigableSet<String> numbers = new TreeSet<>();
Hier haben wir ein navigierbares Set namens numbers der TreeSet Klasse erstellt.
Methoden von NavigableSet
Das NavigableSet wird als eine Art SortedSet betrachtet, da NavigableSet das SortedSet Interface erweitert.
Daher sind alle SortedSet Methoden auch in NavigableSet verfügbar. Um zu erfahren, wie diese Methoden funktionieren, besuchen Sie Java SortedSet.
Allerdings sind einige Methoden von SortedSet (headSet(), tailSet() und subSet()) 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 Sets vor dem angegebenen element zurück (das als Argument übergeben wird).
Der Parameter booleanValue ist optional. Sein Standardwert ist false.
Wenn true als booleanValue übergeben wird, gibt die Methode alle Elemente vor dem angegebenen Element einschließlich des angegebenen Elements zurück.
tailSet(element, booleanValue)
Die tailSet() Methode gibt alle Elemente eines navigierbaren Sets nach dem angegebenen element (das als Argument übergeben wird) einschließlich des angegebenen Elements zurück.
Der Parameter booleanValue ist optional. Sein Standardwert ist true.
Wenn false als booleanValue übergeben wird, gibt die Methode alle Elemente nach dem angegebenen Element ohne Einbeziehung des angegebenen Elements zurück.
subSet(e1, bv1, e2, bv2)
Die subSet() Methode gibt alle Elemente zwischen e1 und e2 einschließlich e1 zurück.
Die Parameter bv1 und bv2 sind optional. Der Standardwert von bv1 ist true, und der Standardwert von bv2 ist false.
Wenn false als bv1 übergeben wird, gibt die Methode alle Elemente zwischen e1 und e2 ohne Einbeziehung von e1 zurück.
Wenn true als bv2 übergeben wird, gibt die Methode alle Elemente zwischen e1 und e2 einschließlich e1 zurück.
Methoden für Navigation
Das NavigableSet stellt verschiedene Methoden bereit, die verwendet werden können, um über seine Elemente zu navigieren.
- descendingSet() – kehrt die Reihenfolge der Elemente in einem Set um
- descendingIterator() – gibt einen Iterator zurück, der verwendet werden kann, um über ein Set in umgekehrter Reihenfolge zu iterieren
- ceiling() – gibt das kleinste Element unter denen zurück, die größer oder gleich dem angegebenen Element sind
- floor() – gibt das größte Element unter denen zurück, die kleiner oder gleich dem angegebenen Element sind
- higher() – gibt das kleinste Element unter denen zurück, die strikt größer als das angegebene Element sind
- lower() – gibt das größte Element unter denen zurück, die strikt kleiner als das angegebene Element sind
- pollFirst() – gibt das erste Element aus dem Set zurück und entfernt es
- pollLast() – gibt das letzte Element aus dem Set zurück und entfernt es
Um mehr über NavigableSet zu erfahren, besuchen Sie die 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) {
// NavigableSet mit TreeSet erstellen
NavigableSet<Integer> numbers = new TreeSet<>();
// Elemente zum Set hinzufügen
numbers.add(1);
numbers.add(2);
numbers.add(3);
System.out.println("NavigableSet: " + numbers);
// Erstes Element abrufen
int firstElement = numbers.first();
System.out.println("Erste Zahl: " + firstElement);
// Letztes Element abrufen
int lastElement = numbers.last();
System.out.println("Letztes Element: " + lastElement);
// Erstes Element entfernen
int number1 = numbers.pollFirst();
System.out.println("Entferntes erstes Element: " + number1);
// Letztes Element entfernen
int number2 = numbers.pollLast();
System.out.println("Entferntes letztes Element: " + number2);
}
}
Ausgabe
NavigableSet: [1, 2, 3] Erste Zahl: 1 Letztes Element: 3 Entferntes erstes Element: 1 Entferntes letztes Element: 3
Um mehr über TreeSet zu erfahren, besuchen Sie Java TreeSet.
Nun, da wir das NavigableSet Interface kennen, werden wir seine Implementierung mit der TreeSet Klasse erlernen.
Java
- C#-Interfaces meistern: Definition, Implementierung und praktische Anwendungsfälle
- Java Operatoren meistern: Typen, Syntax und praktische Beispiele
- Java Kommentare: Typen, Verwendung und Best Practices
- Java-Schnittstellen meistern: Konzepte, Implementierung und Best Practices
- Java Try-With-Resources meistern: Automatisches Ressourcenmanagement erklärt
- Java Annotations erklärt: Typen, Platzierung und praktische Beispiele
- Java Lambda Expressions meistern: Von Grundlagen bis Stream API
- Interface vs. Abstrakte Klasse in Java: Die richtige Abstraktion wählen
- Java Interfaces verstehen: Definitionen, Verwendung und Best Practices
- Java 9 Private Interface Methods: Bessere Kapselung & Code-Wiederverwendung