La clase Collections es miembro de Java Collections Framework . El paquete java.util.Collections es el paquete que contiene la clase Collections. La clase de colecciones se usa básicamente con los métodos estáticos que operan en las colecciones o devuelven la colección. Todos los métodos de esta clase lanzan NullPointerException si la colección o el objeto pasado a los métodos es nulo.
Sintaxis: Declaración
public class Collections extends Object
Recuerde: el objeto es la clase principal de todas las clases.
Campos de clase de colecciones
La clase de colección contiene básicamente 3 campos, como se indica a continuación, que se pueden usar para devolver entidades inmutables.
- EMPTY_LIST para obtener una Lista vacía inmutable
- EMPTY_SET para obtener un conjunto vacío inmutable
- EMPTY_MAPpara obtener un mapa vacío inmutable
Ahora analicemos los métodos que están presentes dentro de esta clase para que podamos implementar estas funcionalidades incorporadas más adelante en nuestro programa. A continuación se enumeran los métodos que se enumeran a continuación en un formato tabular como se muestra a continuación:
Métodos |
Descripción |
addAll(Colección<? extiende E> c) | Se utiliza para insertar los elementos de colección especificados en la colección que invoca. |
asLifoQueue(Deque<T> deque) | Este método devuelve una vista de un Deque como una cola de último en entrar, primero en salir (Lifo). |
binarySearch(List<? extiende la lista Comparable>, tecla T) | Este método busca la clave mediante la búsqueda binaria en la lista especificada. |
Búsqueda binaria(Lista<? extiende T> lista, tecla T, Comparador<? super T> c) | Este método busca en la lista especificada el objeto especificado utilizando el algoritmo de búsqueda binaria. |
checkedCollection(Colección<E> c, Clase<E> tipo) | Este método devuelve una vista con seguridad de tipo dinámica de la colección especificada. |
lista marcada (Lista <E> lista, tipo Clase <E>) | Este método devuelve una vista con seguridad de tipo dinámica de la lista especificada. |
checkMap(Map<K,V> m, Class<K> keyType, Class<V> valueType) | Este método devuelve una vista con seguridad de tipo dinámica del mapa especificado. |
checkNavigableMap(NavigableMap<K,V> m, Class<K> keyType, Class<V> valueType) | Este método devuelve una vista con seguridad de tipos dinámica del mapa navegable especificado. |
checkedNavigableSet(NavigableSet<E> s, Class<E> tipo) | Este método devuelve una vista con seguridad de tipos dinámica del conjunto navegable especificado. |
checkedQueue(Cola<E> cola, Clase<E> tipo) | Este método devuelve una vista con seguridad de tipo dinámica de la cola especificada. |
checkSet(Set<E> s, Class<E> type) | Este método devuelve una vista con seguridad de tipo dinámica del conjunto especificado. |
checkSortedMap(SortedMap<K,V> m, Class<K> keyType, Class<V> valueType) | Este método devuelve una vista con seguridad de tipo dinámica del mapa ordenado especificado. |
checkSortedSet(SortedSet<E> s, Class<E> type) | Este método devuelve una vista con seguridad de tipos dinámica del conjunto ordenado especificado. |
copiar(Lista<? super T> dest, Lista<? extiende T> src) | Este método copia todos los elementos de una lista a otra. |
disjunto(Colección<?> c1, Colección<?> c2) | Este método devuelve verdadero si las dos colecciones especificadas no tienen elementos en común. |
enumeracion vacia() | Este método devuelve una enumeración que no tiene elementos. |
vacíoIterador() | Este método devuelve un iterador que no tiene elementos. |
lista vacía() | Este método devuelve una lista vacía (inmutable). |
vaciarListaIterador() | Este método devuelve un iterador de lista que no tiene elementos. |
mapavacío() | Este método devuelve un mapa vacío (inmutable). |
vacíoNavegableMap() | Este método devuelve un mapa navegable vacío (inmutable). |
conjuntoNavegablevacío() | Este método devuelve un conjunto navegable vacío (inmutable). |
conjunto vacio() | Este método devuelve un conjunto vacío (inmutable). |
mapaOrdenadoVacío() | Este método devuelve un mapa ordenado vacío (inmutable). |
conjuntoordenadovacío() | Este método devuelve un conjunto ordenado vacío (inmutable). |
enumeración(Colección<T> c) | Este método devuelve una enumeración sobre la colección especificada. |
llenar(Lista<? super T> lista, T obj) | Este método reemplaza todos los elementos de la lista especificada con el elemento especificado. |
frecuencia(Colección<?> c, Objeto o) | Este método devuelve el número de elementos en la colección especificada igual al objeto especificado. |
indexOfSubList(List<?> origen, List<?> destino) | Este método devuelve la posición inicial de la primera aparición de la lista de destino especificada dentro de la lista de origen especificada, o -1 si no existe tal aparición. |
lastIndexOfSubList(Lista<?> origen, Lista<?> destino) | Este método devuelve la posición inicial de la última aparición de la lista de destino especificada dentro de la lista de origen especificada, o -1 si no existe tal aparición. |
lista(Enumeración<T> e) | Este método devuelve una lista de array que contiene los elementos devueltos por la enumeración especificada en el orden en que los devuelve la enumeración. |
max(Colección<? extiende T> coll) | Este método devuelve el elemento máximo de la colección dada, según el orden natural de sus elementos. |
max(Colección<? extiende T> coll, Comparator<? super T> comp) | Este método devuelve el elemento máximo de la colección dada, según el orden inducido por el comparador especificado. |
min(Colección<? extiende T> coll) | Este método devuelve el elemento mínimo de la colección dada, según el orden natural de sus elementos. |
min(Colección<? extiende T> coll, Comparator<? super T> comp) | Este método devuelve el elemento mínimo de la colección dada, según el orden inducido por el comparador especificado. |
nCopias(int n, T o) | Este método devuelve una lista inmutable que consta de n copias del objeto especificado. |
newSetFromMap(Mapa<E,Booleano> mapa) | Este método devuelve un conjunto respaldado por el mapa especificado. |
replaceAll(List<T> list, T oldVal, T newVal) | Este método reemplaza todas las apariciones de un valor especificado en una lista con otro. |
inversa(Lista<?> lista) | Este método invierte el orden de los elementos en la lista especificada |
orden inverso() | Este método devuelve un comparador que impone el orden inverso al natural en una colección de objetos que implementan la interfaz Comparable. |
orden inverso(Comparador<T> cmp) | Este método devuelve un comparador que impone el orden inverso del comparador especificado. |
rotar (Lista<?> lista, distancia int) | Este método rota los elementos en la lista especificada por la distancia especificada. |
barajar(Lista<?> lista) | Este método permuta aleatoriamente la lista especificada utilizando una fuente predeterminada de aleatoriedad. |
barajar(Lista<?> lista, Random rnd) | Este método permuta aleatoriamente la lista especificada utilizando la fuente de aleatoriedad especificada. |
singletonMap(clave K, valor V) | Este método devuelve un mapa inmutable, asignando solo la clave especificada al valor especificado. |
singleton(To) | Este método devuelve un conjunto inmutable que contiene solo el objeto especificado. |
singletonList(Hasta) | Este método devuelve una lista inmutable que contiene solo el objeto especificado. |
ordenar(Lista<T> lista) | Este método ordena la lista especificada en orden ascendente, según el orden natural de sus elementos. |
ordenar(Lista<T> lista, Comparador<? super T> c) | Este método ordena la lista especificada según el orden inducido por el comparador especificado. |
intercambiar (Lista<?> lista, int i, int j) | Este método intercambia los elementos en las posiciones especificadas en la lista especificada. |
colección sincronizada(Colección<T> c) | Este método devuelve una colección sincronizada (segura para subprocesos) respaldada por la colección especificada. |
lista sincronizada(Lista<T> lista) | Este método devuelve una lista sincronizada (segura para subprocesos) respaldada por la lista especificada. |
Mapa sincronizado(Mapa<K,V> m) | Este método devuelve un mapa sincronizado (seguro para subprocesos) respaldado por el mapa especificado. |
sincronizadoNavigableMap(NavigableMap<K,V> m) | Este método devuelve un mapa navegable sincronizado (seguro para subprocesos) respaldado por el mapa navegable especificado. |
conjuntoNavigable sincronizado(ConjuntoNavigable<T> s) | Este método devuelve un conjunto navegable sincronizado (seguro para subprocesos) respaldado por el conjunto navegable especificado. |
conjunto sincronizado(Conjunto<T> s) | Este método devuelve un conjunto sincronizado (seguro para subprocesos) respaldado por el conjunto especificado. |
MapaOrdenadoSincronizado(MapaOrdenado<K,V> m) | Este método devuelve un mapa ordenado sincronizado (seguro para subprocesos) respaldado por el mapa ordenado especificado. |
conjuntoordenado sincronizado(ConjuntosOrdenados<T> s) | Este método devuelve un conjunto ordenado sincronizado (seguro para subprocesos) respaldado por el conjunto ordenado especificado. |
nomodificableCollection(Colección<? extiende T> c) | Este método devuelve una vista no modificable de la colección especificada. |
nomodificableList(Lista<? extiende T> lista) | Este método devuelve una vista no modificable de la lista especificada. |
unmodificableNavigableMap(NavigableMap<K,? extiende V> m) | Este método devuelve una vista no modificable del mapa navegable especificado. |
unmodificableNavigableSet(NavigableSet<T> s) | Este método devuelve una vista no modificable del conjunto navegable especificado. |
unmodificableSet(Set<? extiende T> s) | Este método devuelve una vista no modificable del conjunto especificado. |
nomodificableSortedMap(SortedMap<K,? extiende V> m) | Este método devuelve una vista no modificable del mapa ordenado especificado. |
unmodificableSortedSet(SortedSet<T> s) | Este método devuelve una vista no modificable del conjunto ordenado especificado. |
Ahora, hemos terminado con la lista de todos los métodos, por lo que ahora tenemos una leve pista con nosotros para percibir cuán importantes son estos métodos cuando se piensa en una perspectiva de programación global. Los métodos importantes y de uso frecuente al escribir código optimizado, como verá estos métodos de alguna manera en casi todos los códigos optimizados de Java debido al uso estragos de la clase Collections en Java. Así que aquí, más probablemente que en cualquier otra clase, no solo implementaremos el método, sino que también discutiremos las operaciones que se pueden realizar para que uno pueda tener claridad conceptual y un dominio sólido al implementar el mismo. Las operaciones de las que hablaremos son las siguientes:
- Adición de elementos a las Colecciones
- Ordenar una colección
- Buscar en una colección
- Copiar elementos
- Colección Disjunta
Operación 1: agregar elementos al objeto de clase Collections
El método addAll() de la clase java.util.Collections se usa para agregar todos los elementos especificados a la colección especificada. Los elementos que se agregarán se pueden especificar individualmente o como una array.
Ejemplo
Java
// Java Program to Demonstrate Adding Elements // Using addAll() method // Importing required classes import java.util.ArrayList; import java.util.Collections; import java.util.List; // Main class class GFG { // Main driver method public static void main(String[] args) { // Creating a list // Declaring object of string type List<String> items = new ArrayList<>(); // Adding elements (items) to the list items.add("Shoes"); items.add("Toys"); // Add one or more elements Collections.addAll(items, "Fruits", "Bat", "Ball"); // Printing the list contents for (int i = 0; i < items.size(); i++) { System.out.print(items.get(i) + " "); } } }
Shoes Toys Fruits Bat Ball
Operación 2: ordenar una colección
java.util.Collections.sort() se utiliza para ordenar los elementos presentes en la lista especificada de Colección en orden ascendente. java.util.Collections.reverseOrder() se usa para ordenar en orden descendente.
Ejemplo
Java
// Java program to demonstrate sorting // a Collections using sort() method import java.util.ArrayList; import java.util.Collections; import java.util.List; // Main Class // SortingCollectionExample class GFG { // Main driver method public static void main(String[] args) { // Creating a list // Declaring object of string type List<String> items = new ArrayList<>(); // Adding elements to the list // using add() method items.add("Shoes"); items.add("Toys"); // Adding one or more elements using addAll() Collections.addAll(items, "Fruits", "Bat", "Mouse"); // Sorting according to default ordering // using sort() method Collections.sort(items); // Printing the elements for (int i = 0; i < items.size(); i++) { System.out.print(items.get(i) + " "); } System.out.println(); // Sorting according to reverse ordering Collections.sort(items, Collections.reverseOrder()); // Printing the reverse order for (int i = 0; i < items.size(); i++) { System.out.print(items.get(i) + " "); } } }
Bat Fruits Mouse Shoes Toys Toys Shoes Mouse Fruits Bat
Operación 3: Búsqueda en una colección
El método java.util.Collections.binarySearch() devuelve la posición de un objeto en una lista ordenada. Para usar este método, la lista debe ordenarse en orden ascendente, de lo contrario, el resultado devuelto por el método será incorrecto. Si el elemento existe en la lista, el método devolverá la posición del elemento en la lista ordenada; de lo contrario, el resultado devuelto por el método sería el – (punto de inserción donde el elemento debería haber estado presente si existiera) -1) .
Ejemplo
Java
// Java Program to Demonstrate Binary Search // Using Collections.binarySearch() // Importing required classes import java.util.ArrayList; import java.util.Collections; import java.util.List; // Main class // BinarySearchOnACollection public class GFG { // Main driver method public static void main(String[] args) { // Creating a List // Declaring object of string type List<String> items = new ArrayList<>(); // Adding elements to object // using add() method items.add("Shoes"); items.add("Toys"); items.add("Horse"); items.add("Ball"); items.add("Grapes"); // Sort the List Collections.sort(items); // BinarySearch on the List System.out.println( "The index of Horse is " + Collections.binarySearch(items, "Horse")); // BinarySearch on the List System.out.println( "The index of Dog is " + Collections.binarySearch(items, "Dog")); } }
The index of Horse is 2 The index of Dog is -2
Operación 4: Copiar Elementos
El método copy() de la clase java.util.Collections se usa para copiar todos los elementos de una lista a otra. Después de la operación, el índice de cada elemento copiado en la lista de destino será idéntico a su índice en la lista de origen. La lista de destino debe ser al menos tan larga como la lista de origen. Si es más largo, los elementos restantes de la lista de destinos no se ven afectados.
Ejemplo
Java
// Java Program to Demonstrate Copying Elements // Using copy() method // Importing required classes import java.util.ArrayList; import java.util.Collections; import java.util.List; // Main class // CopyOneCollectionToAnother class GFG { // Main driver method public static void main(String[] args) { // Create destination list List<String> destination_List = new ArrayList<>(); // Add elements destination_List.add("Shoes"); destination_List.add("Toys"); destination_List.add("Horse"); destination_List.add("Tiger"); // Print the elements System.out.println( "The Original Destination list is "); for (int i = 0; i < destination_List.size(); i++) { System.out.print(destination_List.get(i) + " "); } System.out.println(); // Create source list List<String> source_List = new ArrayList<>(); // Add elements source_List.add("Bat"); source_List.add("Frog"); source_List.add("Lion"); // Copy the elements from source to destination Collections.copy(destination_List, source_List); // Printing the modified list System.out.println( "The Destination List After copying is "); for (int i = 0; i < destination_List.size(); i++) { System.out.print(destination_List.get(i) + " "); } } }
The Original Destination list is Shoes Toys Horse Tiger The Destination List After copying is Bat Frog Lion Tiger
Operación 5: Colección Disjunta
java.util.Collections.disjoint() se usa para verificar si dos colecciones específicas son independientes o no. Más formalmente, dos colecciones son disjuntas si no tienen elementos en común. Devuelve verdadero si las dos colecciones no tienen ningún elemento en común.
Ejemplo
Java
// Java Program to Illustrate Working of Disjoint Function // Importing required classes import java.util.ArrayList; import java.util.Collections; import java.util.List; // Main class // DisjointCollectionsExample class GFG { // Main driver method public static void main(String[] args) { // Create list1 List<String> list1 = new ArrayList<>(); // Add elements to list1 list1.add("Shoes"); list1.add("Toys"); list1.add("Horse"); list1.add("Tiger"); // Create list2 List<String> list2 = new ArrayList<>(); // Add elements to list2 list2.add("Bat"); list2.add("Frog"); list2.add("Lion"); // Check if disjoint or not System.out.println( Collections.disjoint(list1, list2)); } }
true
Publicación traducida automáticamente
Artículo escrito por lavishgarg26 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA