English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grund教程

Java-Flusssteuerung

Java-Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java Ausnahmebehandlung

Java Liste (List)

Java Queue (Warteschlange)

Java Map-Sammlung

Java Set-Sammlung

Java Eingabe-Ausgabe(I/)

Java Reader/Writer

Andere Themen von Java

Java NavigableSet Interface

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.

Klassen, die NavigableSet implementieren

Um die Funktionen des Interfaces NavigableSet zu nutzen, müssen wir die Klasse verwenden, die NavigableSet implementiert und von TreeSet abgeleitet ist.

Wie verwendet man NavigableSet?

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.

Methoden von NavigableSet

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.

headSet(element,booleanValue)

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(element,booleanValue)

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(e1,bv1,e2,bv2)

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

Implementierung von NavigableSet in der Klasse TreeSet

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.