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

Tutorial di Base Java

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Gestione delle Eccezioni Java

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java Input/Output (I/O)

Java Reader/Writer

Altri argomenti Java

Interfaccia Java NavigableSet

In questo tutorial, impareremo l'interfaccia Java NavigableSet e i suoi metodi attraverso un esempio.

L'interfaccia NavigableSet del framework Java Collections fornisce funzionalità di navigazione tra gli elementi di un insieme.

È consideratoUna sottoclasse di SortedSet.

Classi che implementano NavigableSet

Per utilizzare le funzionalità dell'interfaccia NavigableSet, dobbiamo utilizzare la classe che implementa NavigableSet, ovvero TreeSet.

Come utilizzare NavigableSet?

Per utilizzare le funzionalità dell'interfaccia NavigableSet, dobbiamo utilizzare la classe TreeSet che implementa NavigableSet.

// Implementazione di SortedSet della classe TreeSet
NavigableSet<String> numbers = new TreeSet<>();

In questo esempio, abbiamo creato un insieme navigabile chiamato numbers della classe TreeSet.

Metodi di NavigableSet

NavigableSet è considerato una sottoclasse di SortedSet. Questo perché NavigableSet eredita l'interfaccia SortedSet.

Quindi, tutti i metodi di SortedSet sono disponibili anche in NavigableSet. Per conoscere questi metodi, visitareJava SortedSet.

Ma in NavigableSet, alcuni metodi di SortedSet (headSet(), tailSet() e subSet()) sono definiti in modo diverso.

Vediamo come definire questi metodi in NavigableSet.

headSet(element, booleanValue)

Il metodo headSet() restituisce tutti gli elementi dell'insieme navigabile precedenti all'elemento specificato (passato come parametro).

Il parametro booleanValue è opzionale. Il valore predefinito è false.

Se il valore di booleanValue è true, il metodo restituisce tutti gli elementi precedenti all'elemento specificato, inclusi l'elemento specificato.

tailSet(element, booleanValue)

tailSet() restituisce tutti gli elementi dell'insieme navigabile successivi all'elemento specificato (passato come parametro), inclusi l'elemento specificato.

Il parametro booleanValue è opzionale. Il valore predefinito è true.

Se booleanValue è false, il metodo restituisce tutti gli elementi successivi all'elemento specificato, escludendo l'elemento specificato.

subSet(e1,bv1,e2,bv2)

Il metodo subSet() restituisce tutti gli elementi tra e1 e e2, inclusi e1.

bv1 e bv2 sono parametri opzionali. bv1 ha valore predefinito true, bv2 ha valore predefinito false.

Se false viene passato come bv1, il metodo restituisce tutti gli elementi tra e1 e e2, ma non inclusi e1.

Se true viene passato come bv2, il metodo restituisce tutti gli elementi tra e1 e e2, inclusi e1.

NavigableSet fornisce vari metodi utilizzabili per navigare tra gli elementi.

  • DescendingSet() - invertire l'ordine degli elementi nella集合

  • DescendingIterator() - restituire un iteratore che può essere utilizzato per iterare la集合 in ordine inverso

  • ceiling() - restituire l'elemento più piccolo o uguale dell'elemento specificato

  • floor() - restituire l'elemento più grande o uguale dell'elemento specificato

  • Higher() - restituire l'elemento più piccolo maggiore dell'elemento specificato

  • lower() - restituire l'elemento più grande minore dell'elemento specificato

  • pollFirst() - restituire e rimuovere il primo elemento dalla集合

  • pollLast() - restituire e rimuovere l'ultimo elemento dalla集合

Implementazione di NavigableSet nella classe TreeSet

import java.util.NavigableSet;
import java.util.TreeSet;
class Main {
    public static void main(String[] args) {
        //usare TreeSet per creare NavigableSet
        NavigableSet<Integer> numbers = new TreeSet<>();
        //inserire un elemento nella集合
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("NavigableSet: " + numbers);
        //accedere al primo elemento
        int firstElement = numbers.first();
        System.out.println("primo elemento: " + firstElement);
        //accedere all'ultimo elemento
        int lastElement = numbers.last();
        System.out.println("Ultimo elemento: " + lastElement);
        //Eliminare il primo elemento
        int number1 = numbers.pollFirst();
        System.out.println("Eliminare il primo elemento: " + number1);
        //Eliminare l'ultimo elemento
        int number2 = numbers.pollLast();
        System.out.println("Eliminare l'ultimo elemento: " + number2);
    }
}

Risultato di output

NavigableSet: [1, 2, 3]
Primo elemento: 1
Ultimo elemento: 3
Eliminare il primo elemento: 1
Eliminare l'ultimo elemento: 3

Per ulteriori informazioni su TreeSet, visitareJava TreeSet.

Avendo già conosciuto l'interfaccia NavigableSet, utilizzeremo la classe TreeSet per studiare la sua implementazione.