Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Resumen colecciones en Java, Resúmenes de Informática

Resumen básico colecciones, listas, diccionarios en Java.

Tipo: Resúmenes

2025/2026

Subido el 06/03/2026

alberto-b1j
alberto-b1j 🇪🇸

1 documento

1 / 4

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
RESUMEN COLECCIONES JAVA
1
Java.util.collection
Método int size(): retorna el número de elementos de la colección.
Método boolean isEmpty(): retornará verdadero si la colección está vacía.
Método boolean contains (Object element): retornará verdadero si la colección tiene el elemento
pasado como parámetro.
Método boolean add(E element): permitirá añadir elementos a la colección.
Método boolean remove (Object element): permitirá eliminar elementos de la colección.
Método Iterator<E> iterator(): permitirá crear un iterador para recorrer los elementos de la
colección.
Esto se ve más adelante, no te preocupes.
Método Object[] toArray(): permite pasar la colección a un array de objetos tipo Object.
Método containsAll(Collection<?> c): permite comprobar si una colección contiene los elementos
existentes en otra colección, si es así, retorna verdadero.
Método addAll (Collection<? extends E> c): permite añadir todos los elementos de una colección
a otra colección, siempre que sean del mismo tipo (o deriven del mismo tipo base).
Método boolean removeAll(Collection<?> c): si los elementos de la colección pasada como
parámetro están en nuestra colección, se eliminan, el resto se quedan.
Método boolean retainAll(Collection<?> c): si los elementos de la colección pasada como
parámetro están en nuestra colección, se dejan, el resto se eliminan.
Método void clear(): vacíar la colección.
Genéricos
public class Util<T> {
T t1;
public void invertir(T[] array) {
for (int i = 0; i < array.length / 2; i++) {
t1 = array[i];
array[i] = array[array.length - i - 1];
array[array.length - i - 1] = t1;}}}
Integer[] numeros={0,1,2,3,4,5,6,7,8,9};
Util<Integer> u= new Util<Integer>();
u.invertir(numeros);
for (int i=0;i<numeros.length;i++) System.out.println(numeros[i]);
Conjuntos (no admite duplicados)
java.util.HashSet. Conjunto que almacena los objetos usando tablas hash, lo cual acelera
enormemente el acceso a los objetos almacenado. Inconvenientes: necesitan bastante memoria y no
almacenan los objetos de forma ordenada (al contrario pueden aparecer completamente desordenados).
java.util.LinkedHashSet. Conjunto que almacena objetos combinando tablas hash, para un acceso
rápido a los datos, y para conservar el orden. El orden de almacenamiento es el de inserción, por lo que
se puede decir que es una estructura ordenada a medias.
Inconvenientes: necesitan bastante memoria y es algo mas lenta que HashSet.
java.util.TreeSet. Conjunto que almacena los objetos usando unas estructuras conocidas como árboles
rojo-negro. Son más lentas que los dos tipos anteriores. pero tienen una gran ventaja:
los datos almacenados se ordenan por valor. Es decir, que aunque se inserten los elementos de forma
desordenada, internamente se ordenan dependiendo del valor de cada uno.
Ejemplo:
HashSet<Integer> conjunto=new HashSet<Integer>();
Integer n=new Integer(10);
if (!conjunto.add(n)) System.out.println("Número ya en la lista.");
Acceso a datos de conjuntos: iterador. For each
for (Integer i: conjunto) {System.out.println("Elemento almacenado:"+i);
Conjunto LinkdetHashSet
LinkedHashSet <Integer> t;
t=new LinkedHashSet<Integer>();
t.add(new Integer(4));
t.add(new Integer(3));
t.add(new Integer(1));
t.add(new Integer(99));
for (Integer i:t) System.out.println(i);
Salida por pantalla
pf3
pf4

Vista previa parcial del texto

¡Descarga Resumen colecciones en Java y más Resúmenes en PDF de Informática solo en Docsity!

Java.util.collection

Método int size() : retorna el número de elementos de la colección.

Método boolean isEmpty() : retornará verdadero si la colección está vacía.

Método boolean contains (Object element) : retornará verdadero si la colección tiene el elemento

pasado como parámetro.

Método boolean add(E element) : permitirá añadir elementos a la colección.

Método boolean remove (Object element) : permitirá eliminar elementos de la colección.

Método Iterator iterator() : permitirá crear un iterador para recorrer los elementos de la

colección.

Esto se ve más adelante, no te preocupes.

Método Object[] toArray() : permite pasar la colección a un array de objetos tipo Object.

Método containsAll(Collection c) : permite comprobar si una colección contiene los elementos

existentes en otra colección, si es así, retorna verdadero.

Método addAll (Collection c) : permite añadir todos los elementos de una colección

a otra colección, siempre que sean del mismo tipo (o deriven del mismo tipo base).

Método boolean removeAll(Collection c) : si los elementos de la colección pasada como

parámetro están en nuestra colección, se eliminan, el resto se quedan.

Método boolean retainAll(Collection c) : si los elementos de la colección pasada como

parámetro están en nuestra colección, se dejan, el resto se eliminan.

Método void clear() : vacíar la colección.

Genéricos

public class Util { T t1; public void invertir(T[] array) { for (int i = 0 ; i < array.length / 2 ; i++) { t1 = array[i]; array[i] = array[array.length - i - 1 ]; array[array.length - i - 1 ] = t1;}}} Integer[] numeros={ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }; Util u= new Util(); u.invertir(numeros); for (int i= 0 ;i conjunto=new HashSet(); Integer n=new Integer( 10 ); if (!conjunto.add(n)) System.out.println("Número ya en la lista.");

Acceso a datos de conjuntos: iterador. For each

for (Integer i: conjunto) {System.out.println("Elemento almacenado:"+i);

Conjunto LinkdetHashSet

LinkedHashSet t; t=new LinkedHashSet(); t.add(new Integer( 4 )); t.add(new Integer( 3 )); t.add(new Integer( 1 )); t.add(new Integer( 99 )); for (Integer i:t) System.out.println(i); Salida por pantalla

(los valores salen ordenados según el momento de inserción en el conjunto)}

Conjunto TreeSet

TreeSet t; t=new TreeSet(); t.add(new Integer( 4 )); t.add(new Integer( 3 )); t.add(new Integer( 1 )); t.add(new Integer( 99 )); for (Integer i:t) System.out.println(i); Salida por pantalla 1 3 4 99 (el resultado sale ordenado por valor)

Copiar elementos de un conjunto a otro

A.addAll(B) A.removeAll(B) A.retainAll(B) TreeSet A= new TreeSet(); A.add( 9 ); A.add( 19 ); A.add( 5 ); A.add( 7 ); // Elementos del conjunto A: 9, 19, 5 y 7 LinkedHashSet B= new LinkedHashSet(); B.add( 10 ); B.add( 20 ); B.add( 5 ); B.add( 7 ); // Elementos del conjunto B: 10, 20, 5 y 7

Ordenar elementos

Para indicar a un TreeSet cómo tiene que ordenar los elementos, debemos decirle cuándo un elemento va antes o después que otro, y cuándo son iguales. Para ello, utilizamos la interfaz genérica java.util.Comparator , usada en general en algoritmos de ordenación, como veremos más adelante. Se trata de crear una clase que implemente dicha interfaz, así de fácil. Dicha interfaz requiere de un único método que debe calcular si un objeto pasado por parámetro es mayor, menor o igual que otro del mismo tipo. Veamos un ejemplo general de cómo implementar un comparador para una hipotética clase " Objeto ": class ComparadorDeObjetos implements Comparator { public int compare(Objeto o1, Objeto o2) { ... } } La interfaz Comparator obliga a implementar un único método, es el método compare, el cual tiene dos parámetros: los dos elementos a comparar. Las reglas son sencillas, a la hora de personalizar dicho método:  Si el primer objeto ( o1 ) es menor que el segundo ( o2 ), debe retornar un número entero negativo.  Si el primer objeto ( o1 ) es mayor que el segundo ( o2 ), debe retornar un número entero positivo.  Si ambos son iguales, debe retornar 0. Una vez creado el comparador simplemente tenemos que pasarlo como parámetro en el momento de la creación al TreeSet , y los datos internamente mantendrán dicha ordenación: TreeSet ts=new TreeSet(new ComparadorDeObjetos()); Ejemplo: class Objeto { public int a; public int b;} class ComparadorDeObjetos implements Comparador { @Override public int compare(Objeto o1, Objeto o2) { int sumao1=o1.a+o1.b; int sumao2=o2.a+o2.b; if (sumao1sumao2) return - 1 ; else return 0 ; } }

Conjuntos de pares clave/valor arrays asociativos

java.util.HashMap , java.util.LinkedHashMap y java.util.TreeMap.

HashMap t=new HashMap();

V put(K key, V value); Inserta un par de objetos llave ( key ) y valor ( value ) en el mapa. Si la llave ya existe en el

mapa, entonces retornará el valor asociado que tenía antes, si la llave no existía, entonces retornará null.

V get(Object key); Obtiene el valor asociado a una llave ya almacenada en el mapa. Si no existe la llave, retornará

null.

V remove(Object key); Elimina la llave y el valor asociado. Retorna el valor asociado a la llave, por si lo queremos

utilizar para algo, o null , si la llave no existe.

boolean containsKey(Object key); Retornará true si el mapa tiene almacenada la llave pasada por

parámetro, false en cualquier otro caso.

boolean containsValue(Object value); Retornará true si el mapa tiene almacenado el valor pasado por

parámetro, false en cualquier otro caso.

int size(); Retornará el número de pares llave y valor almacenado en el mapa.

boolean isEmpty(); Retornará true si el mapa está vacío, false en cualquier otro caso.

void clear(); Vacía el mapa.

Iterator

permiten recorrer las colecciones de dos formas: bucles for-each (existentes en Java a

partir de la versión 1.5) y a través de un bucle normal creando un iterador.

Iterator it=t.iterator();

 boolean hasNext(). Retornará true si le quedan más elementos a la colección por visitar.

False en caso contrario.

 E next(). Retornará el siguiente elemento de la colección, si no existe siguiente elemento,

lanzará una excepción ( NoSuchElementException para ser exactos), con lo que conviene

chequear primero si el siguiente elemento existe.

 remove(). Elimina de la colección el último elemento retornado en la última invocación de

next (no es necesario pasarselo por parámetro). Cuidado, si next no ha sido invocado

todavía, saltará una incomoda excepción.

while (it.hasNext()) //Mientras que haya un siguiente elemento, seguiremos en el bucle.{ Integer t=it.next(); // Escogemos el siguiente elemento. if (t% 2 == 0 ) it.remove(); //Si es necesario, podemos eliminar el elemento extraído de la lista.}

Algoritmos

Desordenar una lista. Collections.shuffle (lista); Rellenar una lista o array. Collections.fill (lista,elemento); Arrays.fill (array,elemento); Búsqueda binaria. Collections.binarySearch(lista,elemento); Arrays.binarySearch(array, elemento); Convertir un array a lista. List lista=Arrays.asList(array); ó Listlista = Arrays.asList(array); Convertir una lista a array. Integer[] array=new Integer[lista.size()]; lista.toArray(array) Dar la vuelta. Collections.reverse(lista); Ejemplo: String texto="Z,B,A,X,M,O,P,U"; String []partes=texto.split(","); Arrays.sort(partes); En el ejemplo anterior la cadena texto contiene una serie de letras separadas por comas. La cadena se ha dividido con el método split , y se ha guardado cada carácter por separado en un array. Después se ha ordenado el array.