English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, vamos aprender o Java NavigableSet Interface e seus métodos por meio de um exemplo.
A interface NavigableSet do Java Collections Framework oferece funcionalidades de navegação entre elementos de conjunto.
Ele é consideradoUma espécie de SortedSet.
Para usar as funcionalidades da interface NavigableSet, precisamos usar a classe que implementa NavigableSet, a classe TreeSet.
Para usar as funcionalidades da interface NavigableSet, precisamos usar a classe TreeSet que implementa NavigableSet.
// Implementação do SortedSet da classe TreeSet NavigableSet<String> numbers = new TreeSet<>();
Aqui, criamos um conjunto navegável chamado numbers da classe TreeSet.
O NavigableSet é considerado uma espécie de SortedSet. Isso porque o NavigableSet herda a interface SortedSet.
Portanto, todos os métodos do SortedSet também estão disponíveis no NavigableSet. Para entender esses métodos, acesseJava SortedSet.
No entanto, no NavigableSet, alguns métodos do SortedSet (headSet(), tailSet() e subSet()) foram definidos de maneira diferente.
Vamos ver como definir esses métodos no NavigableSet.
O método headSet() retorna todos os elementos do conjunto navegável antes do elemento especificado (passado como parâmetro).
O parâmetro booleanValue é opcional. O valor padrão é false.
Se o valor de booleanValue for true, o método retorna todos os elementos antes do elemento especificado, incluindo o elemento especificado.
tailSet() retorna todos os elementos da coleção navegável após o elemento especificado (passado como parâmetro), incluindo o elemento especificado.
O parâmetro booleanValue é opcional. O valor padrão é true.
Se booleanValue for false, o método retorna todos os elementos após o elemento especificado, mas não incluindo o elemento especificado.
O método subSet() retorna e1e2todos os elementos entre, incluindo e1.
bv1e bv2é um parâmetro opcional. bv1O valor padrão é true, bv2O valor padrão é false.
se false for passado como bv1passados, o método retorna e1e2todos os elementos entre, mas não incluindo e1.
se true for passado como bv2passados, o método retorna e1e2todos os elementos entre, incluindo e1.
NavigableSet oferece métodos que podem ser usados para navegar pelos elementos.
DescendingSet() - Inverter a ordem dos elementos da coleção
DescendingIterator() - Retornar um iterador que pode ser usado para iterar a coleção na ordem inversa
ceiling() - Retornar o menor elemento maior ou igual ao elemento especificado
floor() - Retornar o maior elemento menor ou igual ao elemento especificado
Higher() - Retornar o menor elemento maior que o elemento especificado
lower() - Retornar o maior elemento menor que o elemento especificado
pollFirst() - Retornar e excluir o primeiro elemento da coleção
pollLast() - Retornar e excluir o último elemento da coleção
import java.util.NavigableSet; import java.util.TreeSet; class Main { public static void main(String[] args) { //Criar NavigableSet usando TreeSet NavigableSet<Integer> numbers = new TreeSet<>(); //Inserir elemento na coleção numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("NavigableSet: " + numbers); //Acessar o primeiro elemento int firstElement = numbers.first(); System.out.println("Primeiro elemento: " + firstElement); //Acessar o último elemento int lastElement = numbers.last(); System.out.println("Último elemento: ") + lastElement); //Remover o primeiro elemento int number1 = numbers.pollFirst(); System.out.println("Remover o primeiro elemento: ") + number1); //Remover o último elemento int number2 = numbers.pollLast(); System.out.println("Remover o último elemento: ") + number2); } }
Resultados de Saída
NavigableSet: [1, 2, 3] Primeiro elemento: 1 Último elemento: 3 Remover o primeiro elemento: 1 Remover o último elemento: 3
Para obter mais informações sobre TreeSet, acesseJava TreeSet.
Agora que já conhecemos o interface NavigableSet, vamos usar a classe TreeSet para aprender sua implementação.