SlideShare una empresa de Scribd logo
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
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
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
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
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
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
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
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

Más contenido relacionado

La actualidad más candente

Enum y ArrayList en Java
Enum y ArrayList en JavaEnum y ArrayList en Java
Enum y ArrayList en JavaJimmy Ramos
 
Poo 4 arraylist
Poo 4 arraylistPoo 4 arraylist
Poo 4 arraylist
jlmanmons
 
2 2 2 Arraylist Y Operadores
2 2 2 Arraylist Y Operadores2 2 2 Arraylist Y Operadores
2 2 2 Arraylist Y OperadoresUVM
 
Colecciones en java
Colecciones en javaColecciones en java
Colecciones en java
Jahyr Andreé
 
Programación 3: colecciones Java
Programación 3: colecciones JavaProgramación 3: colecciones Java
Programación 3: colecciones Java
Angel Vázquez Patiño
 
Programación 3: arrays (arreglos) y vectores
Programación 3: arrays (arreglos) y vectoresProgramación 3: arrays (arreglos) y vectores
Programación 3: arrays (arreglos) y vectores
Angel Vázquez Patiño
 
I unidad
I unidadI unidad
Arraylist
ArraylistArraylist
Arraylist
Fernando Solis
 
Java 8 collections
Java 8  collectionsJava 8  collections
Java 8 collections
Yenifer Castrillon
 
Tema 6 colecciones por gio
Tema 6   colecciones por gioTema 6   colecciones por gio
Tema 6 colecciones por gioRobert Wolf
 
DAW - Estructuras de almacenamiento
DAW - Estructuras de almacenamientoDAW - Estructuras de almacenamiento
DAW - Estructuras de almacenamientovay82
 
Mapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones ParametrizadasMapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones Parametrizadas
Christian Collaguazo Malla
 
2 2 3 Colecciones En El Sistema De Biblioteca
2 2 3 Colecciones En El Sistema De Biblioteca2 2 3 Colecciones En El Sistema De Biblioteca
2 2 3 Colecciones En El Sistema De BibliotecaUVM
 
Declaración y creación de un arraylist
Declaración y creación de un arraylistDeclaración y creación de un arraylist
Declaración y creación de un arraylistRobert Wolf
 
Arreglos java
Arreglos javaArreglos java
Arreglos java
Cesar Celis
 
Serializacion
SerializacionSerializacion
Serializacion
Daniel Oña
 
Iteradores, Listas y Conjuntos en Java
Iteradores, Listas y Conjuntos en JavaIteradores, Listas y Conjuntos en Java
Iteradores, Listas y Conjuntos en Java
Gaby Delgado
 

La actualidad más candente (20)

Enum y ArrayList en Java
Enum y ArrayList en JavaEnum y ArrayList en Java
Enum y ArrayList en Java
 
Poo 4 arraylist
Poo 4 arraylistPoo 4 arraylist
Poo 4 arraylist
 
2 2 2 Arraylist Y Operadores
2 2 2 Arraylist Y Operadores2 2 2 Arraylist Y Operadores
2 2 2 Arraylist Y Operadores
 
Colecciones en java
Colecciones en javaColecciones en java
Colecciones en java
 
Programación 3: colecciones Java
Programación 3: colecciones JavaProgramación 3: colecciones Java
Programación 3: colecciones Java
 
Programación 3: arrays (arreglos) y vectores
Programación 3: arrays (arreglos) y vectoresProgramación 3: arrays (arreglos) y vectores
Programación 3: arrays (arreglos) y vectores
 
I unidad
I unidadI unidad
I unidad
 
Arraylist
ArraylistArraylist
Arraylist
 
Java 8 collections
Java 8  collectionsJava 8  collections
Java 8 collections
 
Tema 6 colecciones por gio
Tema 6   colecciones por gioTema 6   colecciones por gio
Tema 6 colecciones por gio
 
DAW - Estructuras de almacenamiento
DAW - Estructuras de almacenamientoDAW - Estructuras de almacenamiento
DAW - Estructuras de almacenamiento
 
Mapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones ParametrizadasMapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones Parametrizadas
 
2 2 3 Colecciones En El Sistema De Biblioteca
2 2 3 Colecciones En El Sistema De Biblioteca2 2 3 Colecciones En El Sistema De Biblioteca
2 2 3 Colecciones En El Sistema De Biblioteca
 
Declaración y creación de un arraylist
Declaración y creación de un arraylistDeclaración y creación de un arraylist
Declaración y creación de un arraylist
 
Arreglos
ArreglosArreglos
Arreglos
 
Arreglos java
Arreglos javaArreglos java
Arreglos java
 
Matrices en php
Matrices en phpMatrices en php
Matrices en php
 
Serializacion
SerializacionSerializacion
Serializacion
 
Iteradores, Listas y Conjuntos en Java
Iteradores, Listas y Conjuntos en JavaIteradores, Listas y Conjuntos en Java
Iteradores, Listas y Conjuntos en Java
 
Java util
Java utilJava util
Java util
 

Destacado

Semana 4 y 5 la shell bash guia de ejercicios resuelta
Semana 4 y 5  la shell bash guia de ejercicios resueltaSemana 4 y 5  la shell bash guia de ejercicios resuelta
Semana 4 y 5 la shell bash guia de ejercicios resueltavictdiazm
 
Cca v1 ms-excel
Cca v1 ms-excelCca v1 ms-excel
Cca v1 ms-excelvictdiazm
 
Ra semana 16
Ra semana 16Ra semana 16
Ra semana 16victdiazm
 
Sql server 2005
Sql server 2005Sql server 2005
Sql server 2005victdiazm
 
Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsvictdiazm
 
Ra semana 6 2
Ra semana 6 2Ra semana 6 2
Ra semana 6 2victdiazm
 
Tutorial word (1)
Tutorial word (1)Tutorial word (1)
Tutorial word (1)victdiazm
 
Semana 7 y 8 the linux filesystem guia de ejercicios resuelta
Semana 7 y 8   the linux filesystem guia de ejercicios resueltaSemana 7 y 8   the linux filesystem guia de ejercicios resuelta
Semana 7 y 8 the linux filesystem guia de ejercicios resueltavictdiazm
 
Semana 9 standard io and pipes guia de ejercicios resuelta
Semana 9   standard io and pipes  guia de ejercicios resueltaSemana 9   standard io and pipes  guia de ejercicios resuelta
Semana 9 standard io and pipes guia de ejercicios resueltavictdiazm
 
Ejemplo de antecedentes de investigación
Ejemplo de antecedentes de investigaciónEjemplo de antecedentes de investigación
Ejemplo de antecedentes de investigación
Oscar López Regalado
 
Guiadel egel icompu
Guiadel egel icompuGuiadel egel icompu
Guiadel egel icompu
Edgar Zarate
 
Preguntas
PreguntasPreguntas
Preguntas
Eduardocas
 
Cuestionario
CuestionarioCuestionario
Cuestionario
vanneej
 
Gestion informatica guia
Gestion informatica guiaGestion informatica guia
Gestion informatica guiaPlukis Sanchez
 
52165998 deteccion-de-las-necesidades-informaticas-en-las-organizaciones
52165998 deteccion-de-las-necesidades-informaticas-en-las-organizaciones52165998 deteccion-de-las-necesidades-informaticas-en-las-organizaciones
52165998 deteccion-de-las-necesidades-informaticas-en-las-organizacionesJare Muñoz
 
15059526 guia-del-examen-egel-para-informatica
15059526 guia-del-examen-egel-para-informatica15059526 guia-del-examen-egel-para-informatica
15059526 guia-del-examen-egel-para-informatica
JoVaz Lukaz Glez
 
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-infoArchivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
Mario Chávez Morales
 
88620384 preguntas-de-computacion
88620384 preguntas-de-computacion88620384 preguntas-de-computacion
88620384 preguntas-de-computacion
yani85
 
Guia ceneval contestada (2009)
Guia ceneval contestada (2009)Guia ceneval contestada (2009)
Guia ceneval contestada (2009)armacar
 

Destacado (20)

Semana 4 y 5 la shell bash guia de ejercicios resuelta
Semana 4 y 5  la shell bash guia de ejercicios resueltaSemana 4 y 5  la shell bash guia de ejercicios resuelta
Semana 4 y 5 la shell bash guia de ejercicios resuelta
 
Cca v1 ms-excel
Cca v1 ms-excelCca v1 ms-excel
Cca v1 ms-excel
 
Ra semana 16
Ra semana 16Ra semana 16
Ra semana 16
 
Sql server 2005
Sql server 2005Sql server 2005
Sql server 2005
 
Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissions
 
Ra semana 6 2
Ra semana 6 2Ra semana 6 2
Ra semana 6 2
 
Tutorial word (1)
Tutorial word (1)Tutorial word (1)
Tutorial word (1)
 
Semana 7 y 8 the linux filesystem guia de ejercicios resuelta
Semana 7 y 8   the linux filesystem guia de ejercicios resueltaSemana 7 y 8   the linux filesystem guia de ejercicios resuelta
Semana 7 y 8 the linux filesystem guia de ejercicios resuelta
 
Semana 9 standard io and pipes guia de ejercicios resuelta
Semana 9   standard io and pipes  guia de ejercicios resueltaSemana 9   standard io and pipes  guia de ejercicios resuelta
Semana 9 standard io and pipes guia de ejercicios resuelta
 
Ejemplo de antecedentes de investigación
Ejemplo de antecedentes de investigaciónEjemplo de antecedentes de investigación
Ejemplo de antecedentes de investigación
 
Guiadel egel icompu
Guiadel egel icompuGuiadel egel icompu
Guiadel egel icompu
 
Preguntas
PreguntasPreguntas
Preguntas
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Ceneval
CenevalCeneval
Ceneval
 
Gestion informatica guia
Gestion informatica guiaGestion informatica guia
Gestion informatica guia
 
52165998 deteccion-de-las-necesidades-informaticas-en-las-organizaciones
52165998 deteccion-de-las-necesidades-informaticas-en-las-organizaciones52165998 deteccion-de-las-necesidades-informaticas-en-las-organizaciones
52165998 deteccion-de-las-necesidades-informaticas-en-las-organizaciones
 
15059526 guia-del-examen-egel-para-informatica
15059526 guia-del-examen-egel-para-informatica15059526 guia-del-examen-egel-para-informatica
15059526 guia-del-examen-egel-para-informatica
 
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-infoArchivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
 
88620384 preguntas-de-computacion
88620384 preguntas-de-computacion88620384 preguntas-de-computacion
88620384 preguntas-de-computacion
 
Guia ceneval contestada (2009)
Guia ceneval contestada (2009)Guia ceneval contestada (2009)
Guia ceneval contestada (2009)
 

Similar a 14 colecciones

Informe Poo
Informe PooInforme Poo
Estructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueldEstructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueld
MiguelDiaz369
 
Trabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y javaTrabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y java
Julio César Rojas Maza
 
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)Eli Diaz
 
EPrints: software para el desarrollo y gestión de repositorios digitales
EPrints: software para el desarrollo y gestión de repositorios digitalesEPrints: software para el desarrollo y gestión de repositorios digitales
EPrints: software para el desarrollo y gestión de repositorios digitales
SocialBiblio
 
Estructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguelEstructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguel
MiguelDiaz369
 
ESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALESESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALES
Evans Balcazar
 
Unidad 3 isc j3 paquetes y librerias CB
Unidad 3 isc j3 paquetes y librerias CBUnidad 3 isc j3 paquetes y librerias CB
Unidad 3 isc j3 paquetes y librerias CB
Jhonatan Pat
 
Modulo6.ppt
Modulo6.pptModulo6.ppt
Modulo6.ppt
ssuser73f459
 
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)Fuerza Auriazul
 
Aplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosAplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datos
K Manuel TN
 
Informe de Lista.pdf
Informe de Lista.pdfInforme de Lista.pdf
Informe de Lista.pdf
dciutsucre
 
Lab archivos
Lab archivosLab archivos
Administracion de archivos
Administracion de archivosAdministracion de archivos
Administracion de archivoscgviviana
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datosSistemasGrupo
 

Similar a 14 colecciones (20)

Informe Poo
Informe PooInforme Poo
Informe Poo
 
Estructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueldEstructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueld
 
Trabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y javaTrabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y java
 
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
 
EPrints: software para el desarrollo y gestión de repositorios digitales
EPrints: software para el desarrollo y gestión de repositorios digitalesEPrints: software para el desarrollo y gestión de repositorios digitales
EPrints: software para el desarrollo y gestión de repositorios digitales
 
Unidad 6. colecciones
Unidad 6. coleccionesUnidad 6. colecciones
Unidad 6. colecciones
 
Estructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguelEstructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguel
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datos
 
ESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALESESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALES
 
Unidad 3 isc j3 paquetes y librerias CB
Unidad 3 isc j3 paquetes y librerias CBUnidad 3 isc j3 paquetes y librerias CB
Unidad 3 isc j3 paquetes y librerias CB
 
Modulo6.ppt
Modulo6.pptModulo6.ppt
Modulo6.ppt
 
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
 
Aplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosAplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datos
 
Informe de Lista.pdf
Informe de Lista.pdfInforme de Lista.pdf
Informe de Lista.pdf
 
Lab archivos
Lab archivosLab archivos
Lab archivos
 
Administracion de archivos
Administracion de archivosAdministracion de archivos
Administracion de archivos
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datos
 
Presentación1
Presentación1Presentación1
Presentación1
 
Unidad i poo avanzada
Unidad i   poo avanzadaUnidad i   poo avanzada
Unidad i poo avanzada
 
Curso basico c sharp iv
Curso basico c sharp   ivCurso basico c sharp   iv
Curso basico c sharp iv
 

Más de victdiazm

Semana 2 y 3 file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3   file ownerships and permissions guia de ejercicios resueltaSemana 2 y 3   file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3 file ownerships and permissions guia de ejercicios resueltavictdiazm
 
Semana 1 quick tours guia de ejercicios resuelta
Semana 1   quick tours guia de ejercicios resueltaSemana 1   quick tours guia de ejercicios resuelta
Semana 1 quick tours guia de ejercicios resueltavictdiazm
 
Semana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resueltaSemana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resueltavictdiazm
 
Semana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashSemana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashvictdiazm
 
Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsvictdiazm
 
Semana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resueltaSemana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resueltavictdiazm
 
Semana 1 -_quick_tours
Semana 1 -_quick_toursSemana 1 -_quick_tours
Semana 1 -_quick_toursvictdiazm
 
Semana 16 usuarios y grupos
Semana 16 usuarios y gruposSemana 16 usuarios y grupos
Semana 16 usuarios y gruposvictdiazm
 
Semana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesSemana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesvictdiazm
 
Semana 12 filesystem basico
Semana 12  filesystem basicoSemana 12  filesystem basico
Semana 12 filesystem basicovictdiazm
 
Semana 10 administracion de procesos
Semana 10 administracion de procesosSemana 10 administracion de procesos
Semana 10 administracion de procesosvictdiazm
 
Semana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesSemana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesvictdiazm
 
Semana 8 herramientas de procesos de string
Semana 8  herramientas de procesos de stringSemana 8  herramientas de procesos de string
Semana 8 herramientas de procesos de stringvictdiazm
 
Semana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxSemana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxvictdiazm
 
Control1 victoria diaz
Control1   victoria diazControl1   victoria diaz
Control1 victoria diazvictdiazm
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linuxvictdiazm
 
8 herramientas de procesos de string
8  herramientas de procesos de string8  herramientas de procesos de string
8 herramientas de procesos de stringvictdiazm
 
Semana 9 -_standard_io_and_pipes
Semana 9 -_standard_io_and_pipesSemana 9 -_standard_io_and_pipes
Semana 9 -_standard_io_and_pipesvictdiazm
 

Más de victdiazm (20)

Semana 2 y 3 file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3   file ownerships and permissions guia de ejercicios resueltaSemana 2 y 3   file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3 file ownerships and permissions guia de ejercicios resuelta
 
Semana 1 quick tours guia de ejercicios resuelta
Semana 1   quick tours guia de ejercicios resueltaSemana 1   quick tours guia de ejercicios resuelta
Semana 1 quick tours guia de ejercicios resuelta
 
Semana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resueltaSemana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resuelta
 
Semana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashSemana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bash
 
Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissions
 
Semana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resueltaSemana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resuelta
 
Semana 1 -_quick_tours
Semana 1 -_quick_toursSemana 1 -_quick_tours
Semana 1 -_quick_tours
 
Semana 16 usuarios y grupos
Semana 16 usuarios y gruposSemana 16 usuarios y grupos
Semana 16 usuarios y grupos
 
Semana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesSemana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redes
 
Semana 12 filesystem basico
Semana 12  filesystem basicoSemana 12  filesystem basico
Semana 12 filesystem basico
 
Semana 10 administracion de procesos
Semana 10 administracion de procesosSemana 10 administracion de procesos
Semana 10 administracion de procesos
 
Semana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesSemana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipes
 
Semana 8 herramientas de procesos de string
Semana 8  herramientas de procesos de stringSemana 8  herramientas de procesos de string
Semana 8 herramientas de procesos de string
 
Semana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxSemana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linux
 
Script
ScriptScript
Script
 
Control1 victoria diaz
Control1   victoria diazControl1   victoria diaz
Control1 victoria diaz
 
Compresor
CompresorCompresor
Compresor
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linux
 
8 herramientas de procesos de string
8  herramientas de procesos de string8  herramientas de procesos de string
8 herramientas de procesos de string
 
Semana 9 -_standard_io_and_pipes
Semana 9 -_standard_io_and_pipesSemana 9 -_standard_io_and_pipes
Semana 9 -_standard_io_and_pipes
 

14 colecciones

  • 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