Neste tutorial, aprenderemos sobre a interface Java NavigableSet e seus métodos com a ajuda de um exemplo.
A NavigableSet
interface da estrutura Java Collections fornece os recursos para navegar entre os elementos do conjunto.
É considerado um tipo de SortedSet.
Classe que implementa NavigableSet
Para usar as funcionalidades da NavigableSet
interface, precisamos usar a TreeSet
classe que implementa NavigableSet
.
Como usar o NavigableSet?
Em Java, devemos importar o java.util.NavigableSet
pacote a ser usado NavigableSet
. Depois de importar o pacote, veja como podemos criar conjuntos navegáveis.
// SortedSet implementation by TreeSet class NavigableSet numbers = new TreeSet();
Aqui, criamos um conjunto navegável denominado números da TreeSet
classe.
Métodos de NavigableSet
O NavigableSet
é considerado um tipo de SortedSet
. É porque NavigableSet
estende a SortedSet
interface.
Portanto, todos os métodos SortedSet também estão disponíveis em NavigableSet. Para saber como esses métodos, visite Java SortedSet.
No entanto, alguns dos métodos de SortedSet
( headSet()
, tailSet()
e subSet()
) são definidos de forma diferente em NavigableSet
.
Vamos ver como esses métodos são definidos em NavigableSet
.
headSet (element, booleanValue)
O headSet()
método retorna todos os elementos de um conjunto navegável antes do elemento especificado (que é passado como um argumento).
O parâmetro booleanValue é opcional. Seu valor padrão é false
.
Se true
for passado como um booleanValue, o método retorna todos os elementos antes do elemento especificado, incluindo o elemento especificado.
tailSet (element, booleanValue)
O tailSet()
método retorna todos os elementos de um conjunto navegável após o elemento especificado (que é passado como um argumento) incluindo o elemento especificado.
O parâmetro booleanValue é opcional. Seu valor padrão é true
.
Se false
for passado como um booleanValue, o método retornará todos os elementos após o elemento especificado sem incluir o elemento especificado.
subconjunto (e1, bv1, e2, bv2)
O subSet()
método retorna todos os elementos entre e1 e e2 incluindo e1.
O bv1 e bv2 são parâmetros opcionais. O valor padrão de bv1 é true
e o valor padrão de bv2 é false
.
Se false
for passado como bv1, o método retorna todos os elementos entre e1 e e2 sem incluir e1
.
Se true
for passado como bv2, o método retorna todos os elementos entre e1 e e2, incluindo e1.
Métodos de navegação
O NavigableSet
fornece vários métodos que podem ser usados para navegar por seus elementos.
- descendingSet () - inverte a ordem dos elementos em um conjunto
- descendingIterator () - retorna um iterador que pode ser usado para iterar sobre um conjunto na ordem inversa
- teto () - retorna o elemento mais baixo entre os elementos que são maiores ou iguais ao elemento especificado
- floor () - retorna o maior elemento entre os elementos que são menores ou iguais ao elemento especificado
- superior () - retorna o elemento mais baixo entre os elementos que são maiores do que o elemento especificado
- lower () - retorna o maior elemento entre os elementos que são menores do que o elemento especificado
- pollFirst () - retorna e remove o primeiro elemento do conjunto
- pollLast () - retorna e remove o último elemento do conjunto
Para saber mais sobre o NavigableSet
, visite Java NavigableSet (documentação oficial do Java).
Implementação de NavigableSet na classe TreeSet
import java.util.NavigableSet; import java.util.TreeSet; class Main ( public static void main(String() args) ( // Creating NavigableSet using the TreeSet NavigableSet numbers = new TreeSet(); // Insert elements to the set numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("NavigableSet: " + numbers); // Access the first element int firstElement = numbers.first(); System.out.println("First Number: " + firstElement); // Access the last element int lastElement = numbers.last(); System.out.println("Last Element: " + lastElement); // Remove the first element int number1 = numbers.pollFirst(); System.out.println("Removed First Element: " + number1); // Remove the last element int number2 = numbers.pollLast(); System.out.println("Removed Last Element: " + number2); ) )
Resultado
NavigableSet: (1, 2, 3) Primeiro elemento: 1 Último elemento: 3 Primeiro elemento removido: 1 Último elemento removido: 3
Para saber mais sobre TreeSet
, visite Java TreeSet.
Agora que sabemos sobre a NavigableSet
interface, aprenderemos sobre sua implementação usando a TreeSet
classe.