Académique Documents
Professionnel Documents
Culture Documents
Colecciones en Java
ICI4241 Ingeniera de Software
Escuela de Ingeniera Informtica
Pontificia Universidad Catlica de Valparaso
20/09/2015
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>();
20/09/2015
ArrayList
Operaciones - recorrido:
Importante: para obtener el tamao se usa size()
int size=nombres.size();
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