En este tutorial, aprenderemos sobre la interfaz Java NavigableSet y sus métodos con la ayuda de un ejemplo.
La NavigableSet
interfaz del marco de las colecciones de Java proporciona las funciones para navegar entre los elementos establecidos.
Se considera un tipo de SortedSet.
Clase que implementa NavigableSet
Para usar las funcionalidades de la NavigableSet
interfaz, necesitamos usar la TreeSet
clase que implementa NavigableSet
.
¿Cómo utilizar NavigableSet?
En Java, debemos importar el java.util.NavigableSet
paquete a utilizar NavigableSet
. Una vez que importamos el paquete, así es como podemos crear conjuntos navegables.
// SortedSet implementation by TreeSet class NavigableSet numbers = new TreeSet();
Aquí, hemos creado un conjunto navegable llamado números de la TreeSet
clase.
Métodos de NavigableSet
Se NavigableSet
considera un tipo de SortedSet
. Es porque NavigableSet
extiende la SortedSet
interfaz.
Por lo tanto, todos los métodos de SortedSet también están disponibles en NavigableSet. Para aprender cómo funcionan estos métodos, visite Java SortedSet.
Sin embargo, algunos de los métodos de SortedSet
( headSet()
, tailSet()
y subSet()
) se definen de forma diferente en NavigableSet
.
Veamos cómo se definen estos métodos en NavigableSet
.
headSet (elemento, booleanValue)
El headSet()
método devuelve todos los elementos de un conjunto navegable antes del elemento especificado (que se pasa como argumento).
El parámetro booleanValue es opcional. Su valor predeterminado es false
.
Si true
se pasa como booleanValue, el método devuelve todos los elementos antes del elemento especificado, incluido el elemento especificado.
tailSet (elemento, booleanValue)
El tailSet()
método devuelve todos los elementos de un conjunto navegable después del elemento especificado (que se pasa como argumento), incluido el elemento especificado.
El parámetro booleanValue es opcional. Su valor predeterminado es true
.
Si false
se pasa como booleanValue, el método devuelve todos los elementos después del elemento especificado sin incluir el elemento especificado.
subconjunto (e1, bv1, e2, bv2)
El subSet()
método devuelve todos los elementos entre e1 y e2, incluido e1.
Bv1 y bv2 son parámetros opcionales. El valor predeterminado de bv1 es true
y el valor predeterminado de bv2 es false
.
Si false
se pasa como bv1, el método devuelve todos los elementos entre e1 y e2 sin incluir e1
.
Si true
se pasa como bv2, el método devuelve todos los elementos entre e1 y e2, incluido e1.
Métodos de navegación
El NavigableSet
proporciona varios métodos que se pueden utilizar para navegar sobre sus elementos.
- descendingSet () : invierte el orden de los elementos en un conjunto
- descendingIterator () : devuelve un iterador que se puede usar para iterar sobre un conjunto en orden inverso
- techo () : devuelve el elemento más bajo entre los elementos que son mayores o iguales que el elemento especificado
- floor () : devuelve el elemento más grande entre los elementos que son menores o iguales que el elemento especificado
- mayor () : devuelve el elemento más bajo entre aquellos elementos que son mayores que el elemento especificado
- lower () : devuelve el elemento más grande entre los elementos que son menores que el elemento especificado
- pollFirst () : devuelve y elimina el primer elemento del conjunto
- pollLast () : devuelve y elimina el último elemento del conjunto
Para obtener más información sobre el NavigableSet
, visite Java NavigableSet (documentación oficial de Java).
Implementación de NavigableSet en la clase 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); ) )
Salida
NavigableSet: (1, 2, 3) Primer elemento: 1 Último elemento: 3 Eliminado Primer elemento: 1 Eliminado Último elemento: 3
Para obtener más información TreeSet
, visite Java TreeSet.
Ahora que conocemos la NavigableSet
interfaz, aprenderemos sobre su implementación usando la TreeSet
clase.