Tipos List y Set con tipos genéricos Estructura for extendido Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.2.

Slides:



Advertisements
Presentaciones similares
EL LENGUAJE DE PROGRAMACIÓN C
Advertisements

Desarrollo de Aplicaciones para Internet
Curso de Java Estructura del Lenguaje
Genéricos en Java Jaime Ramírez, Ángel Lucas González
1.2 Sintaxis del lenguaje Java.
Lenguajes de Programación Tema 4. Paradigma Orientado a Objetos Java 1.5 Pedro García López
Tema 4: Sentencias de control
Técnicas avanzadas de programación Interfaces
Colecciones.
Curso Programación en Java
Manejo de Vectores y Matirces
ESTRUCTURA DE DATOS EN JAVA
Computación II Repaso de java Karina Figueroa Mora.
ARREGLOS. La sintaxis para declarar e inicializar un array será: Tipo_de_variable[ ] Nombre_del_array = new Tipo_de_variable[dimensión]; También podemos.
Factorías e Iterables Introducción del concepto de patrón de diseño Construcción de tipos para recorridos con for extendido Fundamentos de Programación.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Las interfaces Predicate y Function Versión Unidad Didáctica 17 Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
Applications Development I 6.1 Foro Tomas Anzalotta Alvarado.
Tratamientos secuenciales I Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 8 Versión
Arrays, Cadenas y Vectores Tipos Genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 5 Versión
2012-BM5A. Unos tips antes de empezar: C# es Case Sensitive (sensible a mayúsculas) Pepe ≠ pepe ≠ pEpE Las asignaciones se hacen con “=” y las comparaciones.
Paso de parámetros Diseño de programas iterativos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 7 Versión.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Ingeniería del Software II Implementación metódica.
CICLOS CONDICIONALES DINÁMICOS Y CICLOS CONDICIONALES FIJOS Aixa Sosa Colón NE: Programación 2250 – 3240 ONL Profesora. Rebecca Acevedo Rivera.
2015-BM5A. ¿Qué estructuras de Programación conocemos? Condicional: If … { } … Else …{ } Condicional por Casos: Switch (opcion) { } Repetitiva exacta:
Ciclos Condicionales Joel R. Almodóvar Rivera Tarea 6-1 PROG2310L.
Tipos List y Set con tipos genéricos
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Control, adquisición y monitoreo con Arduino y Visual Basic .net
Unidad Didáctica 11 Reutilización Versión 1.0.0
Taller de Java Universidad de los Andes
Convenciones de nomenclatura y diseño
Estructuras de Control en Visual Basic.net
Operadores Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.
Programacion I Curso: 5 I (TT)
Introduction a la Programacion
Ciclos condicionales y exactos Estructura de control de ciclos
“Android – Comunicaciones con HTTP”
Programación en C - manejo de Archivos
Colecciones Carlos Fontela, 2008.
Estructuras de control iterativas
Estructuras de Control en Visual Basic.net
Unidad 1: Introduccion Leccion 3: Input.
Diseño y Programación Orientada a Objetos
Diccionarios y Colecciones
Fundamentos del lenguaje de programación Condicionales, ciclos, Métodos, enumeraciones Escuela Técnica Superior Kinal Instructor Edwin Tumax.
Teclado y Pantalla (Java estándar)
Continuación Unidad 4. Control de flujo
LENGUAJE DE PROGRAMACION III Estructuras Estáticas de Datos
Unidad 3. Introducción a la programación
Tipos Básicos.
Programación Gráfica 5. Introducción a C++..
Plantillas (Templates)‏
Hipervínculos scratch
ESTRUCTURAS DE CONTROL EN VISUAL BASIC.NET Prof.: Rafael Mourglia.
HERRAMIENTAS DE PROGRAMACIÓN
Estructuras de Repetición Pseudocodigo1 Estructuras de Repetición Algoritmos Mientras Hacer-Mientras Para.
Introducción al Visual Basic  Un programa en sentido informático está constituido en un sentido general por variables que contienen los datos con los.
Tema 2: Lenguaje PHP básico
Fundamentos de programación
PROGRAMACIÓN (2).
Arreglos en Java.
Diccionarios y Colecciones
CICLOS EN JAVA FOR, WHILE, DO WHILE Un ciclo en Java o bucle en Java (como prefieras llamarlo) permite repetir una o varias instrucciones cuantas veces.
Informática Ingeniería en Electrónica y Automática Industrial
String, random y stream en java
Estructuras de Repetición Algoritmos
Tratamientos secuenciales I
Templates (en español: Pantillas, modelos, patrones)‏
Transcripción de la presentación:

Tipos List y Set con tipos genéricos Estructura for extendido Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 7

Práctica 7: Estructura for extendido Introducción  Como se ha visto en una práctica anterior, la sentencia for es una estructura iterativa. Recordemos que su estructura es donde INI es la inicialización, CON es la evaluación de la condición y ACT es la actualización.  Por ejemplo, para imprimir todos los elementos de una lista de String ls, se podría hacer for (INI; CON; ACT) {... } for (INI; CON; ACT) {... } for (int i = 0; i < ls.size(); i++) { mostrar(ls.get(i)); } for (int i = 0; i < ls.size(); i++) { mostrar(ls.get(i)); }

Práctica 7: Estructura for extendido Introducción  Si un agregado de datos implementa la interfaz Iterable (es un objeto iterable), es posible utilizar una estructura de control específica: el for extendido; también llamada sentencia for-each.  Todos los tipos que heredan de Collection son iterables, puesto que Collection implementa Iterable. Por ejemplo, las listas y los conjuntos son iterables.  Si llamamos objIter al objeto iterable, compuesto de elementos del tipo T, el for extendido tiene la estructura Dentro del bucle, la variable e (o el nombre que hayamos utilizado) va tomando los valores de todos los elementos de objIter. for (T e: objIter) { … } for (T e: objIter) { … }

Práctica 7: Estructura for extendido Introducción  La iteración sobre la lista anterior podría hacerse con un for extendido, puesto que List es iterable (implementa Iterable)  Por tanto, el for extendido permite iterar sobre los elementos con mucha facilidad.  Obsérvese que es la única manera de procesar todos los elementos de un conjunto: a diferencia de las listas, no podemos obtener un elemento concreto de un conjunto. for (String cadena: ls) { mostrar(cadena); } for (String cadena: ls) { mostrar(cadena); }

Práctica 7: Estructura for extendido Introducción  También se puede usar el for extendido sobre los arrays: si tenemos un array ap de objetos del tipo Punto, con el for normal se podría hacer:  Con el for extendido se puede escribir:  Se puede iterar con el for extendido sobre los arrays, pero cuidado: ¡los arrays no implementan Iterable! Esto significa que no se puede pasar un array a un método que espere recibir un Iterable. for (int i = 0; i < ap.length; i++) { mostrar(ap[i]); } for (int i = 0; i < ap.length; i++) { mostrar(ap[i]); } for (Punto p: ap) { mostrar(p); } for (Punto p: ap) { mostrar(p); }

Práctica 7: Estructura for extendido Introducción  Ejemplo: partiendo de un array de Double ad, presentar en pantalla la suma de sus elementos. Double suma = 0.0; for (Double db: ad) { suma += db; } mostrar(suma); Double suma = 0.0; for (Double db: ad) { suma += db; } mostrar(suma);

Práctica 7: Estructura for extendido Introducción  El orden en el que se itera sobre los elementos de una estructura que tenga un “orden” en sus elementos (haya un primero, un segundo, etc.) es predecible: del primero al último. Por ejemplo: produce la salida List ls = new LinkedList (); ls.add("Uno"); ls.add("Dos"); ls.add("Tres"); for (String st : ls) { mostrar(st); } List ls = new LinkedList (); ls.add("Uno"); ls.add("Dos"); ls.add("Tres"); for (String st : ls) { mostrar(st); } Uno Dos Tres Uno Dos Tres

Práctica 7: Estructura for extendido Introducción  Si una estructura no tiene ningún orden, el for extendido iterará en cualquier orden (no es predecible). Hay que tener esto presente cuando se utilice el tipo Set y el tipo Map (que se verá más adelante). Por ejemplo: produce Set ss = new HashSet (); ss.add("Uno"); ss.add("Dos"); ss.add("Tres"); for (String st : ss) { mostrar(st); } Set ss = new HashSet (); ss.add("Uno"); ss.add("Dos"); ss.add("Tres"); for (String st : ss) { mostrar(st); } Tres Uno Dos Tres Uno Dos

Práctica 7: Estructura for extendido Introducción  Si no se desea procesar todos los elementos de un agregado de datos se puede utilizar un if dentro del bucle.  Si se desea salir de un for extendido cuando se cumpla determinada condición se puede utilizar la sentencia break. public static Boolean existeImpar(Iterable it) { Boolean hayImpar = false; for (Integer n : it) { if (n % 2 == 1) { hayImpar = true; break; } return hayImpar; } public static Boolean existeImpar(Iterable it) { Boolean hayImpar = false; for (Integer n : it) { if (n % 2 == 1) { hayImpar = true; break; } return hayImpar; }