Colecciones en Java

49,450 views

Published on

Introduccion a las colecciones en el lenguaje de programacion Java.

2 Comments
11 Likes
Statistics
Notes
No Downloads
Views
Total views
49,450
On SlideShare
0
From Embeds
0
Number of Embeds
2,142
Actions
Shares
0
Downloads
1,144
Comments
2
Likes
11
Embeds 0
No embeds

No notes for slide

Colecciones en Java

  1. 1. Colecciones
  2. 2. Paquete java.util <ul><li>Conjunto de clases e interfases usadas para: </li></ul><ul><ul><li>Administrar colecciones de objetos. </li></ul></ul><ul><ul><li>Administrar la comunicación entre objetos. </li></ul></ul><ul><ul><li>Manipular información de los objetos. </li></ul></ul>
  3. 3. Colecciones <ul><li>Colecciones son objetos que referencian a un grupo de objetos. </li></ul><ul><li>A diferencia de los arreglos, las colecciones solamente mantienen referencias a objetos de tipo Object. </li></ul><ul><li>Cualquier objeto puede ser almacenado en una colección. </li></ul><ul><li>El casting es requerido para acceder a los objetos de la colección. </li></ul><ul><li>Las colecciones pueden: </li></ul><ul><ul><li>Cambiar de tamaño dinámicamente. </li></ul></ul><ul><ul><li>Proveer ordenamiento. </li></ul></ul><ul><ul><li>insertar y borrar elementos. </li></ul></ul>
  4. 4. Tecnologías de Almacenamiento usadas para almacenar y administrar una Colección de Objetos <ul><li>Array: </li></ul><ul><ul><li>Tamaño fijo. </li></ul></ul><ul><ul><li>Acceso rápido y eficiente. </li></ul></ul><ul><ul><li>Difícil de modificar. </li></ul></ul><ul><li>Linked List: </li></ul><ul><ul><li>Los elementos tienen referencias al elemento anterior y posterior, fácil de remover y agregar elementos. </li></ul></ul><ul><ul><li>El tamaño puede crecer dinámicamente, búsqueda lenta. </li></ul></ul>
  5. 5. Tecnologías de Almacenamiento usadas para almacenar y administrar una Colección de Objetos <ul><li>Tree: </li></ul><ul><ul><li>Guarda elementos en orden. </li></ul></ul><ul><ul><li>Fácil de cambiar. </li></ul></ul><ul><li>Hashtable: </li></ul><ul><ul><li>Usa una clave indexada para identificar elementos. Los elementos son obtenidos de un hashtable usando la clave del elemento. </li></ul></ul>
  6. 6. Tipos de Colecciones <ul><li>Collection </li></ul><ul><ul><li>Contenedor simple de objetos no ordenados. </li></ul></ul><ul><ul><li>Los duplicados son permitidos. </li></ul></ul><ul><li>List </li></ul><ul><ul><li>Contenedor de elementos ordenados. </li></ul></ul><ul><ul><li>Los duplicados son permitidos. </li></ul></ul><ul><li>Set </li></ul><ul><ul><li>Colección desordenada de objetos. </li></ul></ul><ul><ul><li>Los duplicados no son permitidos. </li></ul></ul><ul><li>Map </li></ul><ul><ul><li>Colección de pares: clave/valor. </li></ul></ul><ul><ul><li>La clave es usada para indexar el elemento. </li></ul></ul><ul><ul><li>Los duplicados no son permitidos. </li></ul></ul>
  7. 7. Collection Interfaces <ul><li>Definen el comportamiento de los objetos de colección. </li></ul>
  8. 8. Interfases Iterator y ListIterator <ul><li>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. </li></ul><ul><li>ListIterator: Provee soporte para la iteración a través de una lista. Permite recorrer una lista tanto hacia delante como hacia atrás. </li></ul>
  9. 9. Collection classes
  10. 10. Collection classes
  11. 11. Objetos Set <ul><li>La clase HashSet implementa la interface Set . </li></ul><ul><li>Los objetos HashSet no permiten duplicados y no están ordenados. </li></ul><ul><li>La clase TreeSet implementa la interfase SortedSet . </li></ul><ul><li>Los objetos de tipo TreeSet no admiten duplicados y ordenan sus elementos de forma ascendente . Incluye métodos para aprovechar el ordenamiento, ejemplos: </li></ul><ul><ul><li>TreeSet.first() </li></ul></ul><ul><ul><li>TreeSet.last() </li></ul></ul><ul><ul><li>TreeSet.headSet() </li></ul></ul><ul><ul><li>TreeSet.subSet() </li></ul></ul><ul><ul><li>Ver SetOfNumbers.java y TreeSetExample.java </li></ul></ul>
  12. 12. Objetos List <ul><li>Vector </li></ul><ul><ul><li>Es una colección de objetos que i mplementa la interfase List . </li></ul></ul><ul><ul><li>De tamaño variable. </li></ul></ul><ul><ul><li>Mantiene el orden en que los objetos son agregados. </li></ul></ul><ul><ul><li>Permite duplicados . </li></ul></ul><ul><li>ArrayList </li></ul><ul><ul><li>Clase similar a Vector, con la diferencia que no es sincronizada. </li></ul></ul><ul><li>LinkedList </li></ul><ul><ul><li>Cada elemento tiene una referencia al anterior y posterior elemento. </li></ul></ul><ul><li>Ver SampleVector.java, ArrayListOfNumbers y LinkedListExample. </li></ul>
  13. 13. Iteradores <ul><li>La interfase ListIterator permite iterar a través de las listas. </li></ul><ul><li>Los métodos más comunes del al interfase Iterator son: </li></ul>
  14. 14. Iteradores
  15. 15. Objetos Map <ul><li>Usa una clave única para referenciar un elemento. </li></ul><ul><li>La clave determina donde debe ser guardado un elemento . </li></ul><ul><li>El método hashCode() de la clase Object provee el identificador único del objeto (clave única ). Este método debe ser sobreescrito. </li></ul><ul><li>Ver StudentHasHashValue.java y MappedStudent.java </li></ul>
  16. 16. Objetos Map
  17. 17. Ordenando y mezclando una lista de objetos <ul><li>Collection tiene métodos de ordenamiento: </li></ul><ul><ul><li>Collection.sort() ordena una lista completa o una subsección de esta. </li></ul></ul><ul><ul><li>Collection.reverse() reversa la lista actual. </li></ul></ul><ul><li>Shuffling (mezcla) mueve elementos dentro de una lista de forma aleatoria. </li></ul><ul><ul><li>Ver ActorsList.java </li></ul></ul>

×