[es] colecciones y estructura de iteracion
DESCRIPTION
Enseñar técnicas y conceptos básicos sobre arreglos, colecciones de datos y estructuras de iteracciónTRANSCRIPT
![Page 1: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/1.jpg)
Let's Rock Java
Fundamentos de Java Enterprise Edition con JDeveloper
Eudris Cabrera Rodriguez
Ingeniero TelemáticoSenior Software DeveloperSkype:eudriscabreraLinkedIn:http://www.linkedin.com/in/eudriscabrera Noviembre 2011, Santiago de los Caballeros, R. D.
![Page 2: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/2.jpg)
Objetivos
Entender técnicas y conceptos básicos sobre arreglos, colecciones de datos y estructuras de iteracción
![Page 3: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/3.jpg)
Agenda
● Arreglos● Colecciones y Clases Genéricas
![Page 4: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/4.jpg)
ArreglosUn arreglo es un objeto contenedor que almacena un número fijo de valores de un solo tipo. La longitud de un arreglo se establece cuando se crea el arreglo. Después de la creación, su longitud es fija . En Java la sintaxis para declarar un arreglo es la siguiente:tipodedatos[] nombrevariable;tipodedatos nombrevariable[]; int [] anArray; // declara un arreglo de números enteros
![Page 5: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/5.jpg)
ArreglosCreación e inicialización de un arreglo: int [] anArray = new int [10]; // crear un arreglo de enteros anArray [0] = 100; / / inicializa el primer elementoanArray [1] = 200; / / inicializa el segundo elementoanArray [2] = 300; / / etc Sintaxis abreviada para crear e inicializar una arreglo: int[] anArray = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000};
![Page 6: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/6.jpg)
Usar el ciclo for con arreglosLa declaración para un for en java es la siguiente:for (inicializació;terminación; el incremento) {
//declaraciones}Para obtener la longitud de un arreglo, usamos la siguiente sintaxis: arrayName.lengthEjemplo:1.int [] anArray = new int [10] for (int i = 0; anArray.length; i++) {
value[i] = i;}
![Page 7: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/7.jpg)
Usar el ciclo for con arreglos2.double[] precios = {14.95,12.95,11.95,9.95}; for (int i = 0; precios.length; i++) {
System.out.println(precios[i]);} 3.double total = 0.0; for (int i = 0; precios.length; i++) {
total += precios[i];}
![Page 8: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/8.jpg)
Demo I
![Page 9: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/9.jpg)
Usar el ciclo for mejorado con arreglosEl ciclo for mejorado es mucha veces llamado ciclo foreach, porque es usado para procesar cada elemento en un arreglo o colección. Sintaxis:for (type variableName : arrayName) { //sentencias}4.double[] precios = {14.95,12.95,11.95,9.95};for (double precio : precions) {
System.out.println(precio);}
![Page 10: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/10.jpg)
Demo II
![Page 11: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/11.jpg)
Colecciones en JavaUna Collection es todo aquello que se puede recorrer (o “iterar”) y de lo que se puede saber el tamaño. Las operaciones básicas de una collection entonces son:add(T) Añade un elemento.iterator()Obtiene un “iterador” que permite recorrer la colección visitando cada elemento una vez.size() Obtiene la cantidad de elementos que esta colección almacena.contains(t) Pregunta si el elemento t ya está dentro de la colección.iterator() Obtiene un “iterador” para recorrer la colección.
![Page 12: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/12.jpg)
Colecciones en Java El siguiente ejemplo recorre una colección de Integer borrando todos los cerosvoid borrarCeros(Collection<Integer> ceros){ Iterator<Integer> it = ceros.iterator(); while(it.hasNext()) { int i = it.next(); if(i == 0) it.remove(); }}
![Page 13: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/13.jpg)
Colecciones en JavaA partir de Java 6 hay una manera simplificada de recorrer una collection (que sirve si no necesitamos borrar elementos). void mostrar(Collection<?> col){ for(Object o : col) System.out.println(o);}
![Page 14: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/14.jpg)
Colecciones en JavaThe collection framework
![Page 15: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/15.jpg)
Colecciones en JavaList Un List, o simplemente lista, es una Collection. La diferencia que tiene una lista con una Collection es que la lista mantiene un orden arbitrario de los elementos y permite acceder a los elementos por orden. ArrayListEs una implementación de List, la ventaja de ArrayList sobre un array común es que es expansible, es decir que crece a medida que se le añaden elementos (mientras que el tamaño de un array es fijo desde su creación).
![Page 16: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/16.jpg)
Colecciones en JavaAgregar elemento:ArrayList<String> codes = new ArrayList<String>(); codes.add("mbdk");codes.add(0,"warp"); Obtener un elemento de un ArrayList:for(int i=0; i < codes.get(i);i++){ String code = codes.get(i); System.out.println(code);}
![Page 17: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/17.jpg)
Colecciones en JavaSetEs una collection, un set agrega una sola restricción: No puede haber duplicados. HashSetExisten varias implementaciones de Set. La más comunmente usada es HashSet. Set<String> s = new HashSet<String>();
![Page 18: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/18.jpg)
Colecciones en JavaMapUn Map es un conjunto de valores, con el detalle de que cada uno de estos valores tiene un objeto extra asociado. A los primeros se los llama “claves” o “keys”, ya que nos permiten acceder a los segundos. Cuando digo que las claves forman un conjunto, lo digo en el sentido Java: Son un “Set”, no puede haber duplicados. Sintaxis:Map<K, V> copy = new HashMap<K, V>();
![Page 19: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/19.jpg)
Colecciones en JavaClases Genéricas:Las colecciones en Java pueden almacenar cualquier tipo de objeto (Object). El único problema que podemos encontrar es que si ponemos un tipo inadecuado, el error nos dará en tiempo de ejecución. ArrayList<Integer> milista = new ArrayList<Integer>(); milista.add(0, new Integer(51));
Las clases nativas de Java ahora soportan esta funcionalidad (como acabamos de ver con las colecciones).
![Page 20: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/20.jpg)
Colecciones en JavaNuestras propias clases genéricas:import java.util.*; class Pedido <x extends Object> { public void set(x param) { this.actual = param; } public x get() { return actual; }
private x actual; }
![Page 21: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/21.jpg)
Colecciones en Java Instancia a nuestra clase generica: Pedido<String> a = new Pedido<String>(); a.set("Hola");
![Page 22: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/22.jpg)
Demo III
![Page 23: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/23.jpg)
PREGUNTAS ?
![Page 24: [ES] Colecciones y estructura de iteracion](https://reader033.vdocuments.mx/reader033/viewer/2022052619/5563a5cdd8b42a2b6a8b52c5/html5/thumbnails/24.jpg)
WE ROCK JAVA !!!