English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
Para utilizar las funciones del interfaz NavigableSet, necesitamos utilizar la clase que implementa NavigableSet, la clase TreeSet.
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.
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.
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() 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,该方法返回指定元素之后的所有元素,不包括指定元素。
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
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.