En Java el Conjunto navegable es un subtipo del Conjunto ordenado interfaz. Nos permite realizar varias operaciones, como obtener las coincidencias más cercanas para un elemento determinado, iteración en orden descendente y otras. Proporciona métodos para navegar a través de los elementos del conjunto.
cadena c en matriz
Por ejemplo La interfaz NavigableSet nos permite navegar a través del conjunto en orden ascendente y descendente, a diferencia de SortedSet que solo admite el orden ascendente. Las clases que implementan la interfaz NavigableSet son Conjunto de árboles y Conjunto de listas de saltos concurrentes
- NavigableSet extiende SortedSet y por lo tanto proporciona métodos como first() last() headSet() tailSet() etc.
- Te permite navegar en ambas direcciones en orden ascendente y descendente.
- La implementación más común de NavigableSet es TreeSet.
Ejemplo: Este ejemplo demuestra la creación de un NavigableSet usando TreeSet y agregando elementos que los ordenan automáticamente en orden ascendente.
Java
// Java program to demonstrates // the working of NavigableSet import java.util.*; public class Geeks { public static void main(String[] args) { NavigableSet<Integer> ns = new TreeSet<>(); // Add elements to the set ns.add(10); ns.add(20); ns.add(30); ns.add(40); ns.add(50); System.out.println('Navigable Set: ' + ns); } }
Producción
Navigable Set: [10 20 30 40 50]
El siguiente diagrama demuestra la estructura de herencia en el marco de colección de Java relacionada con los conjuntos.
TreeSet es una clase que implementa Conjunto navegable que a su vez extiende SortedSet que extiende Colocar .
Declaración de NavigableSet
En Java la declaración de NavigableSet se puede declarar como:
Conjunto navegable
establecerNombre;
Nota: ' Type' es el tipo de elemento en el conjunto (por ejemplo, cadena entera, etc.) y setName es el nombre de la variable.
Crear objetos NavigableSet
No podemos crear un NavigableSet directamente ya que es una interfaz. En lugar de eso usamos una clase como Conjunto de árboles que lo implementa. Con la ayuda de genéricos podemos definir el tipo de objetos que almacenará el conjunto. Este conjunto de tipos seguros se puede definir como:
Conjunto navegable
conjunto = nuevo conjunto de árboles ();
Ejemplo: Este ejemplo demuestra cómo utilizar varios métodos de NavigableSet como descedingSet() tailSet() lower() pollFirst() y pollLast() para manipular y navegar por un conjunto ordenado tanto en orden normal como inverso.
Java// Java Program to demostrates the // working of various methods of NavigableSet import java.util.NavigableSet; import java.util.TreeSet; public class Geeks { public static void main(String[] args) { NavigableSet<Integer> ns = new TreeSet<>(); ns.add(0); ns.add(1); ns.add(2); ns.add(3); ns.add(4); ns.add(5); ns.add(6); // Get a reverse view of the navigable set NavigableSet<Integer> revNs = ns.descendingSet(); // Print the normal and reverse views System.out.println('Normal order: ' + ns); System.out.println('Reverse order: ' + revNs); NavigableSet<Integer> t = ns.tailSet(3 true); System.out.println('3 or more: ' + t); System.out.println('lower(3): ' + ns.lower(3)); System.out.println('floor(3): ' + ns.floor(3)); System.out.println('higher(3): ' + ns.higher(3)); System.out.println('ceiling(3): ' + ns.ceiling(3)); System.out.println('pollFirst(): ' + ns.pollFirst()); System.out.println('Navigable Set: ' + ns); System.out.println('pollLast(): ' + ns.pollLast()); System.out.println('Navigable Set: ' + ns); System.out.println('pollFirst(): ' + ns.pollFirst()); System.out.println('Navigable Set: ' + ns); System.out.println('pollFirst(): ' + ns.pollFirst()); System.out.println('Navigable Set: ' + ns); System.out.println('pollFirst(): ' + ns.pollFirst()); System.out.println('Navigable Set: ' + ns); System.out.println('pollFirst(): ' + ns.pollFirst()); System.out.println('pollLast(): ' + ns.pollLast()); } }
Producción:
Realizar varias operaciones en NavigableSet
1. Agregar elementos: Podemos usar el agregar() método para insertar elementos en NavigableSet. Los elementos se almacenan en el orden ordenado, no se permiten duplicados y NavigableSet tampoco acepta valores nulos.
bloquear anuncios en youtube android
Ejemplo: Este ejemplo demuestra cómo agregar elementos a un NavigableSet usando add() donde se ignoran los duplicados y los elementos se ordenan en orden ascendente.
Java// Java Program to demonstrates the working of add() import java.util.*; import java.io.*; class Geeks { public static void main(String[] args) { NavigableSet<String> ts = new TreeSet<String>(); // Elements are added using add() method ts.add('A'); ts.add('B'); ts.add('C'); ts.add('A'); System.out.println('NavigableSet: ' + ts); } }
Producción
NavigableSet: [A B C]
2. Acceso a Elementos: Después de agregar los elementos, si deseamos acceder a los elementos, podemos usar métodos incorporados como contiene() primero() último() etc.
Ejemplo: Este ejemplo demuestra cómo agregar elementos a un NavigableSet, verificar la existencia de un elemento y recuperar el primer y último elemento.
Java// Java program to demonstrates the // working of contains() first() and last() method import java.util.*; import java.io.*; class Geeks { public static void main(String[] args) { NavigableSet<String> ts = new TreeSet<String>(); // Elements are added using add() method ts.add('A'); ts.add('B'); ts.add('C'); ts.add('A'); System.out.println('NavigableSet: ' + ts); String s = 'D'; // Check if the above string exists in // the NavigableSet or not System.out.println('D exists in the NavigableSet?: ' + ts.contains(s)); // Print the first element in // the NavigableSet System.out.println('First Element of NavigableSet: ' + ts.first()); // Print the last element in // the NavigableSet System.out.println('Last Element of NavigableSet: ' + ts.last()); } }
Producción
NavigableSet: [A B C] D exists in the NavigableSet?: false First Element of NavigableSet: A Last Element of NavigableSet: C
java cómo anular
3. Eliminación de elementos: Los valores se pueden eliminar del NavigableSet usando el eliminar() encuestaPrimera() encuestaÚltimo() .
Ejemplo: Este ejemplo demuestra la eliminación de elementos del NavigableSet.
Java// Java Program to demonstrates the working of remove() // pollFirst() and pollLast() method import java.io.*; import java.util.*; class Geeks { public static void main(String[] args) { NavigableSet<String> ts = new TreeSet<String>(); // Elements are added using add() method ts.add('A'); ts.add('B'); ts.add('C'); ts.add('B'); ts.add('D'); ts.add('E'); System.out.println('NavigableSet: ' + ts); // Removing the element b ts.remove('B'); System.out.println('After removing element ' + ts); // Remove the First element of TreeSet ts.pollFirst(); System.out.println( 'After the removal of First Element ' + ts); // Remove the Last element of TreeSet ts.pollLast(); System.out.println( 'After the removal of Last Element ' + ts); } }
Producción
NavigableSet: [A B C D E] After removing element [A C D E] After the removal of First Element [C D E] After the removal of Last Element [C D]
comparación de cadenas c#
4. Elementos iterativos: Hay varias formas de iterar a través de NavigableSet. El más famoso es utilizar el mejorado para bucle.
Ejemplo: Este ejemplo demuestra cómo agregar elementos a un NavigableSet y recorrerlo en orden ascendente.
Java// Java Program to iterate through NavigableSet import java.util.*; import java.io.*; class Geeks { public static void main(String[] args) { NavigableSet<String> ts = new TreeSet<String>(); // Elements are added using add() method ts.add('C'); ts.add('D'); ts.add('E'); ts.add('A'); ts.add('B'); ts.add('Z'); // Iterating though the NavigableSet for (String i : ts) System.out.print(i + ' '); } }
Producción
A B C D E Z
Métodos
Los siguientes son los métodos presentes en la interfaz NavigableSet.
Métodos | Descripción |
|---|---|
| techo(E mi) | Devuelve el elemento mínimo en este conjunto mayor o igual que el elemento dado o nulo si no existe tal elemento. |
| Iterador descendente() | Devuelve un iterador sobre los elementos de este conjunto en orden descendente. |
| conjunto descendente() | Devuelve una vista en orden inverso de los elementos contenidos en este conjunto. |
| piso(E mi) | Devuelve el elemento más grande de este conjunto menor o igual que el elemento dado o nulo si no existe dicho elemento. |
| headSet(E aElemento) | Devuelve una vista de la parte de este conjunto cuyos elementos son estrictamente menores que toElement. |
| headSet(E toElement booleano inclusive) | Devuelve una vista de la parte de este conjunto cuyos elementos son menores que (o iguales si inclusivo es verdadero) toElement. |
| mayor(E e) | Devuelve el elemento mínimo de este conjunto estrictamente mayor que el elemento dado o nulo si no existe dicho elemento. |
| iterador() | Devuelve un iterador sobre los elementos de este conjunto en orden ascendente. |
| inferior(E mi) | Devuelve el elemento mayor de este conjunto estrictamente menor que el elemento dado o nulo si no existe dicho elemento. |
| encuestaPrimera() | Recupera y elimina el primer elemento (el más bajo) o devuelve nulo si este conjunto está vacío. |
| encuestaÚltimo() | Recupera y elimina el último elemento (el más alto) o devuelve nulo si este conjunto está vacío. |
subconjunto(E deElemento booleano deInclusivo E aElemento booleano aInclusivo) | Devuelve una vista de la parte de este conjunto cuyos elementos van desde fromElement hasta toElement. |
| subconjunto(E del elemento E al elemento) | Devuelve una vista de la parte de este conjunto cuyos elementos van desde fromElement inclusive hasta toElement exclusivo. |
| tailSet(E deElemento) | Devuelve una vista de la parte de este conjunto cuyos elementos son mayores o iguales que fromElement. |
| tailSet(E deElemento booleano inclusive) | Devuelve una vista de la parte de este conjunto cuyos elementos son mayores que (o iguales si inclusivo es verdadero) fromElement. |
Métodos heredados de la interfaz java.util.SortedSet
Método | Descripción |
|---|---|
| comparador() | Este método devuelve el comparador utilizado para ordenar los elementos de este conjunto o nulo si este conjunto utiliza el orden natural de sus elementos. |
| primero() | Este método devuelve el primer elemento (el más bajo) presente en este conjunto. |
| último() | Este método devuelve el último elemento (más alto) presente en el conjunto. |
| divisor() | Crea un Spliterator sobre los elementos de este conjunto ordenado. |
Métodos heredados de la interfaz java.util.Set
Método método tostring java | Descripción |
|---|---|
| agregar (elemento) | Este método se utiliza para agregar un elemento específico al conjunto. La función agrega el elemento solo si el elemento especificado aún no está presente en el conjunto; de lo contrario, la función devuelve False si el elemento ya está presente en el conjunto. |
| agregar todo (colección) | Este método se utiliza para agregar todos los elementos de la colección mencionada al conjunto existente. Los elementos se añaden aleatoriamente sin seguir ningún orden específico. |
| claro() | Este método se utiliza para eliminar todos los elementos del conjunto pero no eliminarlo. La referencia del conjunto todavía existe. |
| contiene (elemento) | Este método se utiliza para comprobar si un elemento específico está presente en el Conjunto o no. |
| contieneTodo(colección) | Este método se utiliza para comprobar si el conjunto contiene todos los elementos presentes en la colección dada o no. Este método devuelve verdadero si el conjunto contiene todos los elementos y devuelve falso si falta alguno de los elementos. |
| es igual() | Compara el objeto especificado con este conjunto para determinar la igualdad. |
| código hash() | Este método se utiliza para obtener el valor de hashCode para esta instancia del Conjunto. Devuelve un valor entero que es el valor del código hash para esta instancia del Conjunto. |
| está vacío() | Este método se utiliza para comprobar si un NavigableSet está vacío o no. |
| eliminar (elemento) | Este método se utiliza para eliminar el elemento dado del conjunto. Este método devuelve Verdadero si el elemento especificado está presente en el Conjunto; de lo contrario, devuelve Falso. |
| eliminarTodo(colección) | Este método se utiliza para eliminar todos los elementos de la colección que están presentes en el conjunto. Este método devuelve verdadero si este conjunto cambió como resultado de la llamada. |
| retenerTodo(colección) | Este método se utiliza para conservar todos los elementos del conjunto que se mencionan en la colección dada. Este método devuelve verdadero si este conjunto cambió como resultado de la llamada. |
| tamaño() | Este método se utiliza para obtener el tamaño del conjunto. Esto devuelve un valor entero que indica el número de elementos. |
| a matriz() | Este método se utiliza para formar una matriz de los mismos elementos que la del Conjunto. |
| aArray(T[] a) | Devuelve una matriz que contiene todos los elementos de este conjunto; el tipo de tiempo de ejecución de la matriz devuelta es el de la matriz especificada. |
Métodos declarados en la interfaz java.util.Collection
| Método | Descripción |
|---|---|
| corriente paralela() | Devuelve un Stream posiblemente paralelo con esta colección como fuente. |
| eliminarSi(Predicado super E>filtrar) | Elimina todos los elementos de esta colección que satisfacen el predicado dado. |
| arroyo() | Devuelve un Stream secuencial con esta colección como origen. |
| aArray?(IntFunción | Devuelve una matriz que contiene todos los elementos de esta colección utilizando la función generadora proporcionada para asignar la matriz devuelta. |
Métodos declarados en la interfaz java.lang.Iterable
| Método | Descripción |
|---|---|
| para cada uno (consumidor super T>acción) | Realiza la acción dada para cada elemento del Iterable hasta que se hayan procesado todos los elementos o la acción genere una excepción. |