English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
Per utilizzare le funzionalità dell'interfaccia NavigableSet, dobbiamo utilizzare la classe che implementa NavigableSet, ovvero TreeSet.
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.
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.
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() 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.
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集合
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.