El documento describe las características y uso de las colecciones en Java. Explica que las colecciones permiten almacenar diferentes tipos de objetos de forma dinámica, a diferencia de los arreglos. Describe las cuatro tecnologías de almacenamiento subyacentes y los tipos principales de colecciones como Listas, Conjuntos y Mapas. También cubre conceptos como iteradores, ordenamiento y la jerarquía de interfaces del framework de colecciones.
Esta presentación le pertenece a Erick Barzallo.
Java dispone de un conjunto de clases para la agrupación de objetos llamados Colecciones
La organización de objetos es de forma particular como un mapa, una lista, un conjunto, entre otros.
Son de importancia debido a la facilidad en el diseño y construcción de aplicaciones basadas en estructuras de datos
Está presentación le pertenece a Daniel Valladarez Muñoz.
Se presenta la diferencia entre estructuras de control estáticas y dinámicas. Se muestra la utilización y particularidades de las clases String y Vector.
En la siguiente presentación se da conocer sobre el funcionamiento y uso de las colecciones para crear mapas y diccionarios que nos pone a disposición Java
Esta presentación le pertenece a Erick Barzallo.
Java dispone de un conjunto de clases para la agrupación de objetos llamados Colecciones
La organización de objetos es de forma particular como un mapa, una lista, un conjunto, entre otros.
Son de importancia debido a la facilidad en el diseño y construcción de aplicaciones basadas en estructuras de datos
Está presentación le pertenece a Daniel Valladarez Muñoz.
Se presenta la diferencia entre estructuras de control estáticas y dinámicas. Se muestra la utilización y particularidades de las clases String y Vector.
En la siguiente presentación se da conocer sobre el funcionamiento y uso de las colecciones para crear mapas y diccionarios que nos pone a disposición Java
EPrints: software para el desarrollo y gestión de repositorios digitalesSocialBiblio
Webinar del martes 13 de Agosto de 2013 dictado por Cristian Merlino S. sobre "EPrints: software para el desarrollo y gestión de repositorios digitales"
1. 1
ColeccionesColecciones
FJP – Unidad 14
Academia Local Cisco – UTN Facultad Regional Santa Fe – http://www.santafecna.org.ar
IntroducciónIntroducciónIntroducción
Arreglos à mecanismo lógico incorporado al lenguaje Java
(built in) para el almacenamiento de datos.
Características principales de los arreglos:
almacenan de un número fijo de datos primitivos u objetos de un mismo tipo.
Alta velocidad y eficiencia de acceso a sus elementos mediante índices.
Limitaciones principales:
sólo almacenan datos de un mismo tipo.
Longitud fija (Ej: agregar más elementos requiere crear un nuevo arreglo de
mayor tamaño)
dificultad para insertar elementos y ordenar elementos.
2. 2
Academia Local Cisco – UTN Facultad Regional Santa Fe – http://www.santafecna.org.ar
ColeccionesColeccionesColecciones
Una colección es un objeto contenedor que representa un
grupo de objetos (elementos) y permite su manipulación
Paquete java.util
Ventajas sobre la tecnología de arreglos:
permiten almacenar diferentes tipos de objetos (sólo objetos) en una
misma colección.
pueden crecer dinámicamente.
es posible agregar y eliminar objetos de una colección en forma
eficiente.
pueden mantener los objetos en forma ordenada (según un criterio)
Academia Local Cisco – UTN Facultad Regional Santa Fe – http://www.santafecna.org.ar
Framework de coleccionesFrameworkFramework de coleccionesde colecciones
El Framework de colecciones de Java es un conjunto de
guías o directivas preestablecidas que definen las
características y comportamiento de objetos
contenedores que manipulan referencias a otros objetos.
La tecnología de colecciones puede ser entendida en términos de:
- La tecnología de almacenamiento utilizada, y
- Propiedades de colecciones
- Tipos de colecciones definidos por propiedades y almacenamiento
Framework à Definido a través de un conjunto de interfases y clases
para trabajar con grupos de objetos.
Las interfases definen las propiedades de la colección
3. 3
Academia Local Cisco – UTN Facultad Regional Santa Fe – http://www.santafecna.org.ar
Tecnologías de
almacenamiento
Tecnologías deTecnologías de
almacenamientoalmacenamiento
Disponibles 4 tecnologías básicas de almacenamiento de
objetos:
Array (arreglos)
Linked list (lista ligada)
Tree (elementos en orden ascendente)
Hash Table
Academia Local Cisco – UTN Facultad Regional Santa Fe – http://www.santafecna.org.ar
Almacenamiento: Linked listsAlmacenamiento:Almacenamiento: Linked listsLinked lists
Lista enlazada de elementos mediante punteros.
ítems ordenados
doblemente enlazados (facilita agregar y eliminar elementos)
crecimiento dinámico
Recorrido mediante objetos iteradores
4. 4
Academia Local Cisco – UTN Facultad Regional Santa Fe – http://www.santafecna.org.ar
Almacenamiento: Hash TablesAlmacenamiento:Almacenamiento: Hash TablesHash Tables
Cada ítem es ubicado mediante su identificador único en
una posición de la tabla (método: par clave-valor)
El identificador es utilizado tanto para almacenar el elemento en la tabla
como para recuperarlo.
Tabla Hash
Academia Local Cisco – UTN Facultad Regional Santa Fe – http://www.santafecna.org.ar
Tipos de coleccionesTipos de coleccionesTipos de colecciones
Colecciones
Listas
Sets
Maps
Jerarquía de Interfases del
Framework de Colecciones
de Java
5. 5
Academia Local Cisco – UTN Facultad Regional Santa Fe – http://www.santafecna.org.ar
Interfases del FWInterfases del FWInterfases del FW
La interfase Collection es un grupo de objetos que
permite la existencia de duplicados.
La interfase Set extiende Collection pero prohibe los
duplicados.
List extiende Collecction, permite duplicados y provee el
indexado de sus elementos.
Map no extiende la clase Collection. Posee las
operaciones de Collection pero trabaja con pares
Clave-Valor (key-value).
Un Map es un caso especial de Set. Un conjunto de pares (clave-
valor)
Academia Local Cisco – UTN Facultad Regional Santa Fe – http://www.santafecna.org.ar
Implementación del FWImplementación del FWImplementación del FW
Jerarquía de clases del FrameWork de colecciones
*Otras implementaciones
más antiguas: Legacy classes
6. 6
Academia Local Cisco – UTN Facultad Regional Santa Fe – http://www.santafecna.org.ar
Implementación del FW (cont.)Implementación del FW (Implementación del FW (contcont.).)
HashTable
Properties
TreeMapHashMapMap
Vector
Stack
LinkedListArrayListList
TreeSetHashSetSet
Legacy ClassesImplementaciónInterfase
Los programas deben escribirse pensando en Interfases y NO en implementaciones .
Esto evita la dependencia del programa con métodos agregados por una implementa-
ción específica dando la libertad al programador de cambiar implementaciones .
Academia Local Cisco – UTN Facultad Regional Santa Fe – http://www.santafecna.org.ar
Ej: LinkedListEjEj:: LinkedListLinkedList
import java.util.*;
public class LinkedListExample
{ public static void main(String[] args)
{ LinkedList actors = new LinkedList();
actors.add("John Wayne");
actors.add("Elizabeth Taylor");
actors.add("Richard Harris");
actors.add("Elizabeth Hurley");
actors.add("Richard Burton");
System.out.println("nn Lista de Actores");
System.out.println(actors);
}
}
7. 7
Academia Local Cisco – UTN Facultad Regional Santa Fe – http://www.santafecna.org.ar
IteratorIteratorIterator
Un objeto Iterador permite recorrer, agregar y eliminar
elementos en una colección.
Definidos mediante 2 interfases: Iterator y ListIterator.
Ej: ListIterator actorsI = actors.listIterator();
actorsI.add("Madonna");
actorsI.next();
actorsI.next();
actorsI.add("Denzel Washington");
actorsI.next();
actorsI.set(actors.getLast());
actorsI.add("Jennifer Lopez");
Academia Local Cisco – UTN Facultad Regional Santa Fe – http://www.santafecna.org.ar
Métodos de CollectionMétodos deMétodos de CollectionCollection
Métodos estáticos de la clase Collection:
sort(List)
binarySearch(List, Object)
reverse(List)
shuffle (List)
fill(List, Object)
copy(List dest, List src)
min(Collection)
max(Collection)
Ej: Collecction.sort (actors) // ordenamiento
Collection.shuffle(actors) // orden aleatorio
Collection.reverse(actors) // inversión
8. 8
Academia Local Cisco – UTN Facultad Regional Santa Fe – http://www.santafecna.org.ar
OrdenamientoOrdenamientoOrdenamiento
Método estático Collections.sort()
interfases: SortedSet, SortedMap:
- Colecciones que mantienen sus elementos ordenados.
- Iterators garantizan el recorrido de forma ordenada.
Implementación: TreeSet, TreeMap
Interfase Comparable:
– debe ser implementada por todos los elementos en un SortedSet
– debe ser implementada por todas las claves en un SortedMap
– Debe ser implementado por todos los elementos de cualquier
colección para utilizar el método Collection.sort( )
Método: int compareTo(Object o)
Define un "orden natural" para esa clase de objeto