Vous êtes sur la page 1sur 11

20/09/2015

Colecciones en Java
ICI4241 Ingeniera de Software
Escuela de Ingeniera Informtica
Pontificia Universidad Catlica de Valparaso

Java Collections Framework


Provee a los desarrolladores un conjunto de clases e interfaces que
facilitan la tarea de manejar colecciones de objetos.
Las colecciones trabajan con un conjunto de elementos de manera similar
a estructuras ms bsicas como arreglos o listas enlazadas.
La diferencia es que sus operaciones son de alto nivel y encapsulan los
detalles de implementacin.
La mayora de las colecciones de Java se encuentran en el paquete
java.til.

20/09/2015

Java Collections Framework

Collection: la raz de la jerarqua de colecciones. Una coleccin representa


a un grupo de objetos conocidos como sus elementos.
Set: una coleccin que no puede contener elementos duplicados. Es la
abstraccin matemtica de un conjunto.
Lista: una coleccin ordenada (secuencia), contienen elementos
duplicados.

Java Collections Framework

Lista: El usuario de una lista generalmente tiene un control preciso sobre


donde en la lista cada elemento se inserta y puede acceder a los
elementos por su ndice (posicin).
Mapa: un objeto que mapea claves a valores. Un mapa no puede contener
claves duplicadas; a cada clave se le puede asignar a los ms un valor.

20/09/2015

ArrayList
public class ArrayList<E>
Es la implementacin de una lista
(permite elementos repetidos)
mediante arreglos.
Es des-sincronizado (los cambios
realizados por mltiples hilos no
son reflejados).

ArrayList
Operaciones - agregar:
Primero se crear el ArrayList:
ArrayList<String> nombres = new ArrayList<String>();

Luego agregaremos algunos elementos:


nombres.add("Victor");
nombres.add("Luis");
nombres.add("Elena");

20/09/2015

ArrayList
Operaciones - recorrido:
Importante: para obtener el tamao se usa size()
int size=nombres.size();

Ahora, recorremos mostrando los elementos:


for(int i=0; i<nombres.size() ; i++)
{
System.out.println(nombres.get(i));
}

ArrayList
Operaciones - iterar:
Importante: Para obtener el iterador sobre el ArrayList llamaremos
mtodo iterator() del ArrayList y lo almacenaremos en un elemento Iterator:

al

Iterator<String> it = nombres.iterator();

Para iterar un ArrayList vamos a movernos por el iterador mediante los mtodos .next().
El mtodo .next() realiza dos operaciones, por un lado obtener el elemento sobre el que
est iterando y luego mover el puntero hasta el siguiente elemento:
while(it.hasNext())
System.out.println(it.next());

20/09/2015

Vector
public class Vector<E>
Es la implementacin de una lista (permite
elementos repetidos) mediante arreglos.
Es sincronizado (los cambios realizados
por mltiples hilos son reflejados).

Vector
Vector es prcticamente igual a ArrayList, su nica diferencia es que
ArrayList es des-sincronizado (los cambios realizados por mltiples hilos
son reflejados).

20/09/2015

Stack
Se extiende de la clase Vector agregando las funciones para ser operada
como Stack
Permite guardar objetos almacenndolos en forma de pila tipo LIFO.

HashSet
public class HashSet<E>
Implementa la interfaz Set mediante una
hash table (una instancia de HashMap).
Permite el elemento null.
No entrega garanta en cuanto al orden de
iteracin al interior del set:
o No garantiza que el orden permanecer
constante en el tiempo.

20/09/2015

HashTable
public class HashTable<K,V>
Implementa una hash table, la cual
almacena pares clave-valor (key-value
pairs).
Cualquier objeto no null puede ser
utilizado como clave o valor.
Los objetos utilizados como claves deben
implementar el mtodo hashCode y el
mtodo equals.

HashTable
Reemplaza a los diccionarios ya que cumplen la misma funcin y de
manera ms eficiente.
Las hashtable son comnmente usadas para almacenar datos de usuarios
y contraseas debido a su rpido acceso y codificacin (hashconde)

20/09/2015

Maps
Permite representar una estructura de datos para almacenar pares
clave/valor; de tal manera que para una clave solamente tenemos un
valor.
Esta estructura de datos tambin es conocida en otros lenguajes de
programacin como Diccionarios.
Los Maps en java tienen implimentada por debajo toda la teora de las
estructuras de datos de los Arboles (AVL, B, B+, B*) por tanto permiten
aadir, eliminar y modificar elementos de forma trasparente.

Maps
Tipos de Maps:
HashMap: Los elementos que inserta en el map no tendrn un orden especfico. No
aceptan claves duplicadas ni valores nulos.
TreeMap: El Mapa lo ordena de forma natural. Por ejemplo, si la clave son valores
enteros (como luego veremos), los ordena de menos a mayor.
LinkedHashMap: Inserta en el Map los elementos en el orden en el que se van
insertando; es decir, que no tiene una ordenacin de los elementos como tal, por lo
que esta clase realiza las bsquedas de los elementos de forma ms lenta que las
dems clases.

20/09/2015

Maps
HashMap:

Maps
HashMap:

20/09/2015

Maps
TreeMap:

Maps
TreeMap:

10

20/09/2015

Maps
LinkedHashMap:

Maps
LinkedHashMap:

11

Vous aimerez peut-être aussi