Colecciones
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 i mplementa  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

Colecciones en Java

  • 1.
  • 2.
    Paquete java.util Conjuntode clases e interfases usadas para: Administrar colecciones de objetos. Administrar la comunicación entre objetos. Manipular información de los objetos.
  • 3.
    Colecciones Coleccionesson 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.
  • 4.
    Tecnologías de Almacenamientousadas 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.
  • 5.
    Tecnologías de Almacenamientousadas 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.
  • 6.
    Tipos de ColeccionesCollection 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.
  • 7.
    Collection Interfaces Definenel comportamiento de los objetos de colección.
  • 8.
    Interfases Iterator yListIterator 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.
  • 9.
  • 10.
  • 11.
    Objetos Set Laclase 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
  • 12.
    Objetos List VectorEs una colección de objetos que i mplementa 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.
  • 13.
    Iteradores La interfase ListIterator permite iterar a través de las listas. Los métodos más comunes del al interfase Iterator son:
  • 14.
  • 15.
    Objetos Map Usauna 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
  • 16.
  • 17.
    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