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

Tutoriales básicos de Java

Control de flujo Java

Java array

Java orientado a objetos (I)

Java orientado a objetos (II)

Java orientado a objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Queue (cola)

Java Map de colecciones

Java Set de colecciones

Java Entrada/Salida (I)/O)

Reader de Java/Writer

Otras temáticas de Java

Interfaz Java NavigableSet

En este tutorial, aprenderemos el interfaz Java NavigableSet y sus métodos a través de un ejemplo.

La interfaz NavigableSet del framework de colecciones Java proporciona la función de navegación entre elementos de la colección.

Se considera que esUna subclase de SortedSet.

Clases que implementan NavigableSet

Para utilizar las funciones del interfaz NavigableSet, necesitamos utilizar la clase que implementa NavigableSet, la clase TreeSet.

¿Cómo usar NavigableSet?

Para utilizar las funciones del interfaz NavigableSet, necesitamos utilizar la clase TreeSet que implementa NavigableSet.

// Implementación de SortedSet de la clase TreeSet
NavigableSet<String> numbers = new TreeSet<>();

Aquí, creamos un conjunto navegable llamado numbers de la clase TreeSet.

Métodos de NavigableSet

NavigableSet se considera una subclase de SortedSet. Esto se debe a que NavigableSet hereda la interfaz SortedSet.

Por lo tanto, todos los métodos de SortedSet también están disponibles en NavigableSet. Para obtener más información sobre estos métodos, visiteJava SortedSet.

Sin embargo, en NavigableSet, se han definido de manera diferente ciertos métodos de SortedSet (headSet(), tailSet() y subSet()).

Vamos a ver cómo definir estos métodos en NavigableSet.

headSet(element,booleanValue)

El método headSet() devuelve todos los elementos del conjunto navegable anterior al elemento especificado (como parámetro pasado).

El parámetro booleanValue es opcional. El valor predeterminado es false.

Si el valor de booleanValue es true, este método devuelve todos los elementos anteriores al elemento especificado, incluyendo el elemento especificado.

tailSet(element,booleanValue)

tailSet() devuelve todos los elementos del conjunto navigable después del elemento especificado (pasado como parámetro), incluyendo el elemento especificado.

El parámetro booleanValue es opcional. El valor predeterminado es true.

Si booleanValue es false,该方法返回指定元素之后的所有元素,不包括指定元素。

subSet(e1,bv1,e2,bv2)

El método subSet() devuelve e1y e2todos los elementos entre, incluyendo e1.

bv1y bv2es un parámetro opcional. bv1El valor predeterminado es true, bv2El valor predeterminado es false.

si se pasa false como bv1pasados,该方法返回e1y e2todos los elementos entre, sin incluir e1.

si se pasa true como bv2pasados,该方法返回e1y e2todos los elementos entre, incluyendo e1.

NavigableSet proporciona varios métodos que se pueden usar para navegar por sus elementos.

  • DescendingSet() - Invertir el orden de los elementos de la colección

  • DescendingIterator() - Devolver un iterador que se puede usar para iterar la colección en orden inverso

  • ceiling() - Devolver el elemento más pequeño que es mayor o igual que el elemento especificado

  • floor() - Devolver el elemento más grande que es menor o igual que el elemento especificado

  • Higher() - Devolver el elemento más pequeño que es mayor que el elemento especificado

  • lower() - Devolver el elemento más grande que es menor que el elemento especificado

  • pollFirst() - Devolver y eliminar el primer elemento de la colección

  • pollLast() - Devolver y eliminar el último elemento de la colección

Implementación de NavigableSet en la clase TreeSet

import java.util.NavigableSet;
import java.util.TreeSet;
class Main {
    public static void main(String[] args) {
        //Crear NavigableSet utilizando TreeSet
        NavigableSet<Integer> numbers = new TreeSet<>();
        //Insertar un elemento en la colección
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("NavigableSet: " + numbers);
        //Acceder al primer elemento
        int firstElement = numbers.first();
        System.out.println("El primer elemento: " + firstElement);
        //Acceder al último elemento
        int lastElement = numbers.last();
        System.out.println("Último elemento: " + lastElement);
        //Eliminar el primer elemento
        int number1 = numbers.pollFirst();
        System.out.println("Eliminar el primer elemento: " + number1);
        //Eliminar el último elemento
        int number2 = numbers.pollLast();
        System.out.println("Eliminar el último elemento: " + number2);
    }
}

Resultado de salida

NavigableSet: [1, 2, 3]
Primer elemento: 1
Último elemento: 3
Eliminar el primer elemento: 1
Eliminar el último elemento: 3

Para obtener más información sobre TreeSet, visiteJava TreeSet.

Dado que ya conocemos el interfaz NavigableSet, utilizaremos la clase TreeSet para aprender su implementación.