colecciones en java
Post on 26-May-2015
2.546 Views
Preview:
TRANSCRIPT
Paquete java.util
• Conjunto de clases e interfases usadas para:– Administrar colecciones de objetos.– Administrar la comunicación entre objetos.– Manipular información 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 colección.
• El casting es requerido para acceder a los objetos de la colección.
• Las colecciones pueden:– Cambiar de tamaño dinámicamente.– Proveer ordenamiento.– insertar y borrar elementos.
Tecnologías de Almacenamiento usadas para almacenar y administrar una Colección de Objetos
• Array:– Tamaño fijo.– Acceso rápido y eficiente.– Difícil de modificar.
• Linked List:– Los elementos tienen referencias al elemento anterior
y posterior, fácil de remover y agregar elementos.– El tamaño puede crecer dinámicamente, búsqueda
lenta.
Tecnologías de Almacenamiento usadas para almacenar y administrar una Colección de Objetos
• Tree:– Guarda elementos en orden. – Fácil 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– Colección desordenada de objetos. – Los duplicados no son permitidos.
• Map– Colección 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 colección.
Interfases Iterator y ListIterator
• Iterator: Provee un mecanismo básico para iterar a través de los elementos de una colección. Solo se mueve hacia delante en la lista.
• ListIterator: Provee soporte para la iteración a través de una lista. Permite recorrer una lista tanto hacia delante como hacia atrás.
Collection classes
Collection classes
Objetos Set
• La clase HashSet implementa la interface Set.• Los objetos HashSet no permiten duplicados y no
están ordenados.• La clase TreeSet implementa la interfase SortedSet. • Los objetos de tipo TreeSet no admiten duplicados y
ordenan sus elementos de forma ascendente. Incluye métodos para aprovechar el ordenamiento, ejemplos:– TreeSet.first()– TreeSet.last()– TreeSet.headSet()– TreeSet.subSet()
Ver SetOfNumbers.java y TreeSetExample.java
Objetos List
• Vector– Es una colección de objetos que implementa la interfase
List. – De tamaño 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 través de las listas.
• Los métodos más 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 método hashCode() de la clase Object provee el identificador único del objeto (clave única). Este método debe ser sobreescrito.
Ver StudentHasHashValue.java y MappedStudent.java
Objetos Map
Ordenando y mezclando una lista de objetos
• Collection tiene métodos de ordenamiento:– Collection.sort() ordena una lista completa o una
subsección de esta.– Collection.reverse() reversa la lista actual.
• Shuffling (mezcla) mueve elementos dentro de una lista de forma aleatoria.
Ver ActorsList.java
top related