24
Let's Rock Java Fundamentos de Java Enterprise Edition con JDeveloper Eudris Cabrera Rodriguez Ingeniero Telemático Senior Software Developer Skype:eudriscabrera LinkedIn:http://www.linkedin.com/in/eudriscabrera Noviembre 2011, Santiago de los Caballeros, R. D.

[ES] Colecciones y estructura de iteracion

Embed Size (px)

DESCRIPTION

Enseñar técnicas y conceptos básicos sobre arreglos, colecciones de datos y estructuras de iteracción

Citation preview

Page 1: [ES] Colecciones y estructura de iteracion

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

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

Agenda

● Arreglos● Colecciones y Clases Genéricas

Page 4: [ES] Colecciones y estructura de iteracion

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

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

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

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

Demo I

Page 9: [ES] Colecciones y estructura de iteracion

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

Demo II

Page 11: [ES] Colecciones y estructura de iteracion

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

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

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

Colecciones en JavaThe collection framework

Page 15: [ES] Colecciones y estructura de iteracion

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

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

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

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

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

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

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

Demo III

Page 23: [ES] Colecciones y estructura de iteracion

PREGUNTAS ?

Page 24: [ES] Colecciones y estructura de iteracion

WE ROCK JAVA !!!