Sunteți pe pagina 1din 17

Colecciones

Paquete java.util
Conjunto de clases e interfases usadas para:
Administrar colecciones de objetos. Administrar la comunicacin entre objetos. Manipular informacin de los objetos.

Colecciones
Colecciones son objetos que referencian a un grupo de objetos. A diferencia de los arreglos, las colecciones solamente mantienen referencias a objetos de tipo Object. Cualquier objeto puede ser almacenado en una coleccin. El casting es requerido para acceder a los objetos de la coleccin. Las colecciones pueden:
Cambiar de tamao dinmicamente. Proveer ordenamiento. insertar y borrar elementos.

Tecnologas de Almacenamiento usadas para almacenar y administrar una Coleccin de Objetos


Array: Tamao fijo. Acceso rpido y eficiente. Difcil de modificar. Linked List: Los elementos tienen referencias al elemento anterior y posterior, fcil de remover y agregar elementos. El tamao puede crecer dinmicamente, bsqueda lenta.

Tecnologas de Almacenamiento usadas para almacenar y administrar una Coleccin de Objetos

Tree:
Guarda elementos en orden. Fcil de cambiar.

Hashtable:
Usa una clave indexada para identificar elementos. Los elementos son obtenidos de un hashtable usando la clave del elemento.

Tipos de Colecciones
Collection
Contenedor simple de objetos no ordenados. Los duplicados son permitidos.

List
Contenedor de elementos ordenados. Los duplicados son permitidos.

Set
Coleccin desordenada de objetos. Los duplicados no son permitidos.

Map
Coleccin de pares: clave/valor. La clave es usada para indexar el elemento. Los duplicados no son permitidos.

Collection Interfaces
Definen el comportamiento de los objetos de coleccin.

Interfases Iterator y ListIterator


Iterator: Provee un mecanismo bsico para iterar a travs de los elementos de una coleccin. Solo se mueve hacia delante en la lista. ListIterator: Provee soporte para la iteracin a travs de una lista. Permite recorrer una lista tanto hacia delante como hacia atrs.

Collection classes

Collection classes

Objetos Set
La clase HashSet implementa la interface Set. Los objetos HashSet no permiten duplicados y no estn ordenados. La clase TreeSet implementa la interfase SortedSet. Los objetos de tipo TreeSet no admiten duplicados y ordenan sus elementos de forma ascendente. Incluye mtodos para aprovechar el ordenamiento, ejemplos: TreeSet.first() TreeSet.last() TreeSet.headSet() TreeSet.subSet()
Ver SetOfNumbers.java y TreeSetExample.java

Objetos List
Vector
Es una coleccin de objetos que implementa la interfase List. De tamao variable. Mantiene el orden en que los objetos son agregados. Permite duplicados.

ArrayList
Clase similar a Vector, con la diferencia que no es sincronizada.

LinkedList
Cada elemento tiene una referencia al anterior y posterior elemento.
Ver SampleVector.java, ArrayListOfNumbers y LinkedListExample.

Iteradores
La interfase ListIterator permite iterar a travs de las listas. Los mtodos ms comunes del al interfase Iterator son:

Iteradores

Objetos Map
Usa una clave nica para referenciar un elemento. La clave determina donde debe ser guardado un elemento. El mtodo hashCode() de la clase Object provee el identificador nico del objeto (clave nica). Este mtodo debe ser sobreescrito.
Ver StudentHasHashValue.java y MappedStudent.java

Objetos Map

Ordenando y mezclando una lista de objetos


Collection tiene mtodos de ordenamiento:
Collection.sort() ordena una lista completa o una subseccin de esta. Collection.reverse() reversa la lista actual.

Shuffling (mezcla) mueve elementos dentro de una lista de forma aleatoria.

Ver ActorsList.java

S-ar putea să vă placă și