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

Tutorial Básico de Java

Controle de Fluxo Java

Java Matrizes

Java Orientado a Objetos (I)

Java Orientado a Objetos (II)

Java Orientação a Objetos (III)

Tratamento de Exceções Java

Java Lista (List)

Java Queue (fila)

Java Map coleção

Java Set coleção

Java Input/Output (I)/O)

Java Reader/Writer

Outros tópicos do Java

Interface Java NavigableSet

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.

Classes que implementam NavigableSet

Para usar as funcionalidades da interface NavigableSet, precisamos usar a classe que implementa NavigableSet, a classe TreeSet.

Como usar NavigableSet?

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.

Métodos do NavigableSet

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.

headSet(element,booleanValue)

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

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.

subSet(e1,bv1,e2,bv2)

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

Implementação de NavigableSet na classe TreeSet

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.