Colecciones. Nadjet Bouayad-Agha Programación 2007

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Colecciones. Nadjet Bouayad-Agha Programación 2007"

Transcripción

1 Colecciones Nadjet Bouayad-Agha Programación 2007

2 ArrayList Un ArrayList es un array dinámico. No tiene restricciones de capacidad. Su tamaño se ajusta de forma dinámica. Constructor por defecto: new ArrayList(). Inicialmente, la capacidad de un ArrayList creado así es 0. Los elementos dentro de un ArrayList son Objetos. No pueden ser de tipo básico, pero pueden ser de cualquier tipo de objeto. La clase ArrayList forma parte del paquete java.util Para poner un elemento dentro de esta estructura, usamos el método add y para recoger un elemento usamos el método get. Ejemplos: ArrayListExample.java 2

3 import java.util.*; public class ArrayListExample1 { public static void main(string[ ] args) { ArrayList thisarraylist = new ArrayList(); thisarraylist.add("hello"); thisarraylist.add(","); thisarraylist.add("are"); thisarraylist.add("you"); thisarraylist.add("?"); for (int i=0;i<thisarraylist.size();i++) System.out.print(thisArrayList.get(i)+" "); 3

4 Métodos de ArrayList int size() -- El tamaño actual (puede ser 0) void add(obj) -- Añade un objeto al final del ArrayList, incrementando su tamaño de 1. obj es un objeto. Object get(n) -- Devuelve el elemento almacenado a la posición N en el ArrayList. N tiene que ser un entero entre 0 y size()-1. En ArrrayListInteger.java, se convierte el objeto devuelto por get() a un Integer con casting. En ArrayListString.java, se convierte el objeto devuelto por get() a un String llamando al método tostring() de Object. 4

5 import java.util.arraylist; public class ArrayListInteger { public static void main(string[] args) { ArrayList numeros = new ArrayList(); Integer num1 = new Integer(10); Integer num2 = new Integer(20); Integer num3 = new Integer(30); Integer num4 = new Integer(40); numeros.add(num1); numeros.add(num2); numeros.add(num3); numeros.add(num4); int suma=0; for (int i=0;i<numeros.size();i++) { Integer thisnumero = (Integer)numeros.get(i); suma = suma + thisnumero.intvalue(); System.out.print(thisNumero); if (i<numeros.size()-1) System.out.print("+"); else System.out.print("="); System.out.println(suma); 5

6 import java.util.*; public class ArrayListString { public static void main(string[] args) { ArrayList cadenas = new ArrayList(); cadenas.add("hello"); cadenas.add(","); cadenas.add("are"); cadenas.add("you"); cadenas.add("?"); for (int i=0;i<cadenas.size();i++) { Object object = cadenas.get(i); String cadena = object.tostring(); cadena = cadena.touppercase(); System.out.print(cadena+" "); 6

7 Más Métodos de ArrayList void set(index, obj) Sustituye el elemento en la posición index por el objeto obj. (index tiene que ser entre 0 y size()-1) dentro del ArrayList, sustituyendo el elemento previamente almacenado a la posición N. Es equivalente a A[N] = obj para un array A. Object remove(index) -- Elimina el elemento a la posición index (index entre 0 y size()-1). Devuelve el objeto eliminado Los elementos después de este objeto están rebajados de una posición. El tamaño del ArrayList disminuye de 1. int indexof(obj) -- Busca el objeto obj dentro del ArrayList, y si lo encuentra, devuelve la posición donde lo ha encontrado. Si no, devuelve -1. 7

8 Ejercicios Escribir los siguientes métodos: void eliminartodos(arraylist cadenas,string cadena) Elimina todas las copias de cadena dentro de cadenas int min(arraylist numeros) Devuelve el número más pequeño del array dinámico void touppercase(arraylist cadenas) Sustituye cada cadena (String) del arraylist por la su versión máyuscula. int veces(arraylist cadenas,string cadena) Devuelve el número de veces que aparece la cadena en el array dinámico de cadenas. 8

9 Iterator Para recorrer un ArrayList, podemos llamar a get dado un índice (como en los métodos anteriores). Podemos prescindir de los índices y usar un Iterator sobre este ArrayList: ArrayListIterator.java La clase Iterator pertenece al paquete java.util La única función de un objeto de tipo Iterator es recorrer un ArrayList. Iterator tiene como métodos hasnext (que devuelve un boolean) y next (que devuelve un Object). Como StringTokenizer, un objeto de tipo Iterator es de un solo uso. 9

10 import java.util.*; public class ArrayListIterator { public static void main(string[ ] args) { ArrayList thisarraylist = new ArrayList(); thisarraylist.add("hello"); thisarraylist.add(","); thisarraylist.add("are"); thisarraylist.add("you"); thisarraylist.add("?"); Iterator it = thisarraylist.iterator(); while (it.hasnext()) System.out.print(it.next()+" "); 10

11 HashMap Un HashMap es un array asociativo (o hash table). Contiene asociaciones <clave,valor>, donde la clave es única y permite acceder al valor. Ejemplos de asociaciones: La lista de alumnos, cada alumno es accesible por su NIA. El directorio telefónico, cada número se accede por los apellidos y la dirección. Un diccionario, cada definición se accede por lemma. Ejemplo: UseHashMap.java 11

12 Métodos de HashMap int size() -- El tamaño actual = número de mappings <clave,valor> boolean isempty() - Devuelve true si el map es vacío void put(clave,valor) - Añade el mapping <clave,valor> a map, donde clave y valor son objetos. Si clave ya existe, sustituye su valor por valor. 12

13 import java.util.*; public class UseHashMap{ public static void main(string[] args) { String aa= "INDIA"; HashMap hashmap = new HashMap(); hashmap.put("one",new Integer(1)); hashmap.put("two",null); hashmap.put("three","three"); hashmap.put("four",aa); System.out.println("The size of HashMap = "+ hashmap.size()); System.out.println("If hashmap empty = "+ hashmap.isempty()); 13

14 Métodos de HashMap Object get(clave) - Devuelve el valor asociado con clave, o null si clave no existe dentro de map. Set keyset( ) - Devuelve un Set (conjunto de elementos individuales únicos) correspondiente a las claves del map. Podemos iterar sobre este Set (con un Iterator). Nota: Set es una clase de java.util 14

15 System.out.println("The elements of HashMap are"); Set set= hashmap.keyset(); Iterator iter = set.iterator(); while(iter.hasnext()){ Object clave = iter.next(); Object valor = hashmap.get(clave); System.out.println("Key: " + clave + " Value: " + valor); Para recorrer un hashmap: Conseguimos el conjunto de claves Recorremos este conjunto, y para cada clave, sacamos su valor correspondiente en el hashmap 15

16 Métodos de HashMap boolean containskey(clave) - Devuelve true si clave existe dentro de map como clave boolean containsvalue(valor) - Devuelve true si valor existe dentro de map como valor 16

17 System.out.println("Contains key \"one\" ="+hashmap.containskey("one")); System.out.println("Contains key \"five\" ="+hashmap.containskey("five")); System.out.println("Contains value of variable aa \"INDIA\" ="+hashmap.containsvalue(aa)); Integer thisinteger = new Integer(6); System.out.println("Contains value \ 6\ as Integer ="+hashmap.containsvalue(thisinteger)); System.out.println("The value for the \"three\" key =" + hashmap.get("three")); 17

18 Métodos de HashMap Object remove(obj) - Elimina la asociación cuya clave es obj. Devuelve el valor asociado con esta clave antes de eliminar. Collection values( ) - Devuelve una Collection (conjunto de elementos individuales no únicos) de los valores que hay dentro del hashmap. Podemos iterar sobre esta Collection. void clear() - elimina todos los mappings <clave,valor> del array. Nota: Collection es una clase de java.util 18

19 hashmap.remove("two"); System.out.println("The size of HashMap has reduced by one"); System.out.println("The size of HashMap = " + hashmap.size()); System.out.println("The values of HashMap are =" + hashmap.values()); //Remove all the elements from the HashMap hashmap.clear(); System.out.println("If hashmap empty = " + hashmap.isempty()); 19

20 Ejercicios Escribir los métodos: Alumno getalumno(hashmap alumnos,string nia) Dado un array asociativo de <NIA,objeto-alumno>, el método devuelve el valor (objeto-alumno) dado la clave. void increment(hashmap palabras,string palabra) Dado un array asociativo palabras de <cadena,numero>, donde cadena es una palabra (tipo) de un corpus y numero el número de veces que ocurre en el corpus, el método incrementa de uno el número de veces que ocurre palabra. Importante: puede que palabra no exista en el hashmap, en tal caso habrá que añadirlo. 20

AGRUPA P R OBJET E OS 1

AGRUPA P R OBJET E OS 1 AGRUPAR OBJETOS 1 Son objetos que pueden almacenar un número arbitrario de objetos. Para formar colecciones usaremos la clase ArrayList. Para poder utilizar dicha clase habrá que importar el paquete java.util,

Más detalles

public static void main(string[ ] args) { Numero f1 = new Numero(3); Numero f2 = new Numero(4); Numero f3 = f1; f1.value = f2.value; Numero f4 = null;

public static void main(string[ ] args) { Numero f1 = new Numero(3); Numero f2 = new Numero(4); Numero f3 = f1; f1.value = f2.value; Numero f4 = null; Examen de Programación Convocatoria de Septiembre 2005 Licenciatura de Lingüística y Nuevas Tecnologías Pregunta 1 Tenemos el siguiente programa: public class Numero { int value; public Numero(int i) {

Más detalles

Colecciones de Java LSUB. 17 de febrero de 2016 GSYC

Colecciones de Java LSUB. 17 de febrero de 2016 GSYC Colecciones de Java LSUB GSYC 17 de febrero de 2016 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial

Más detalles

PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07

PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07 PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07 Ejercicio 1. Un indice de referencias cruzadas de las palabras que aparecen en un texto es una tabla por palabras y, por cada

Más detalles

Clase 31. Hashing (Dispersión) Motivación

Clase 31. Hashing (Dispersión) Motivación Clase 31 Hashing (Dispersión) Motivación Podemos realizar una búsqueda en un tiempo mejor que O( lg n )? La operación de memoria de un ordenador lo realiza en mucho menos tiempo: toma una clave (la dirección

Más detalles

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2 Objetivos Herencia. Utilización de interfaces y clases abstractas. Índice 1. Interfaces 1 2. Clases abstractas 2 3. Collections Framework 3 3.1. Collection........................................... 3

Más detalles

Árboles binarios de búsqueda

Árboles binarios de búsqueda Clase 27 Árboles binarios de búsqueda Árboles binarios de búsqueda En la clase anterior, definimos el concepto de árbol binario de búsqueda como un árbol binario de nodos que contienen una clave ordenada

Más detalles

Fundamentos de la Programación Orientada a Objetos Agrupación de objetos. Colecciones e iteradores

Fundamentos de la Programación Orientada a Objetos Agrupación de objetos. Colecciones e iteradores Fundamentos de la Programación Orientada a Objetos Agrupación de objetos. Colecciones e iteradores Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial

Más detalles

Grados Ing. Inf. y Mat. Inf. Julio 2014 Algoritmos y Estructura de Datos Página 1 de 6

Grados Ing. Inf. y Mat. Inf. Julio 2014 Algoritmos y Estructura de Datos Página 1 de 6 Grados Ing. Inf. y Mat. Inf. Julio 201 Algoritmos y Estructura de Datos Página 1 de 6 Algoritmos y Estructura de Datos: Examen Julio (Solución) Grados Ing. Inf. y Mat. Inf. Julio 201 Departamento de Lenguajes,

Más detalles

Clase 33. Marco para las colecciones de Java. Historia

Clase 33. Marco para las colecciones de Java. Historia Clase 33 Marco para las colecciones de Java Historia En la versión original del kit de desarrollo de Java, JDK 1.0, los desarrolladores contaban con muy pocas estructuras de datos. Éstas eran: Vector Stack:

Más detalles

Tutorial 11. Temas. Búsqueda Clasificación Estructura de Java Collection Problemas del tutorial Ejercicios de diseño. Búsqueda

Tutorial 11. Temas. Búsqueda Clasificación Estructura de Java Collection Problemas del tutorial Ejercicios de diseño. Búsqueda Tutorial 11 Temas Búsqueda Clasificación Estructura de Java Collection Problemas del tutorial Ejercicios de diseño Búsqueda El objetivo de la búsqueda es localizar un documento específico identificado

Más detalles

TEMA 3. CLASES. EJERCICIOS

TEMA 3. CLASES. EJERCICIOS TEMA 3. CLASES. EJERCICIOS EJERCICIO 1 Considere la siguiente clase: public class IdentifyMyParts { public static int x = 7; public int y = 3; a. Cuáles son las variables de clase? b. Cuáles son las variables

Más detalles

Excepciones en Java Colecciones e iteradores Genericidad Cierre de UML

Excepciones en Java Colecciones e iteradores Genericidad Cierre de UML Excepciones en Java Colecciones e iteradores Genericidad Cierre de UML Carlos Fontela cfontela@fi.uba.ar Temario Excepciones en Java Colecciones e iteradores En Java 1.4 y.net 1.1 Genericidad Desde Java

Más detalles

Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º

Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º 1. Ejercicio (1 punto) Dado el array A={8, 3, 7, 1, 4, 9, 5, 2, 6 Describir cual es el estado del array A después de cada paso principal del algoritmo: InsertionSort. {8, 3, 7, 1, 4, 9, 5, 2, 6 {3, 8,

Más detalles

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) APRENDERAPROGRAMAR.COM INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas

Más detalles

Introducción al lenguaje Java

Introducción al lenguaje Java Tipo de entrega: Fecha límite: Lugar: Introducción al lenguaje Java por grupos de prácticas sesión de laboratorio Atenea Objetivos de la práctica: Escribir aplicaciones simples en Java Utilizar el entorno

Más detalles

Ejercicios de evaluación de fundamentos de programación en Java

Ejercicios de evaluación de fundamentos de programación en Java Ejercicios de evaluación de fundamentos de programación en Java Jorge Martínez Ladrón de Guevara Editorial EME ISBN 978-84-96285-40-8 Contenido 1. Introducción a Java... 1 Test de evaluación...1 Ejercicios...4

Más detalles

Prácticas de Programación

Prácticas de Programación Prácticas de Programación Tema 1. Introducción al análisis y diseño de programas Tema 2. Clases y objetos Tema 3. Herencia y Polimorfismo Tema 4. Tratamiento de errores Tema 5. Aspectos avanzados de los

Más detalles

Inteligencia Artificial, Práctica 1. Felix Marquardt & Daniel Clemente 08 nov 05 19:54 Trabajo.java

Inteligencia Artificial, Práctica 1. Felix Marquardt & Daniel Clemente 08 nov 05 19:54 Trabajo.java 08 nov 05 19:54 Trabajo.java Pàgina 1/1 public class Trabajo { int id; int hora; int tamano; int izquierda; int derecha; //la hora en la que el trabajo empieza realmente en un horario int empieza; public

Más detalles

Tema 4 Colecciones en Java. Programación Orientada a Objetos Curso 2013/2014

Tema 4 Colecciones en Java. Programación Orientada a Objetos Curso 2013/2014 Tema 4 Colecciones en Java Programación Orientada a Objetos Curso 2013/2014 Contenido Colecciones (paquete java.util): Interfaz Collection Interfaz List Interfaz Set InterfazMap Copia de

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles

Primer Parcial Septiembre 6 de 2008

Primer Parcial Septiembre 6 de 2008 Primer Parcial Septiembre 6 de 2008 Algoritmos y Lenguajes II Reglas del juego Tal como se le dijo antes, durante este examen usted no puede pedir ABSOLUTAMENTE nada prestado a sus compañeros, ni hablar

Más detalles

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System. CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA

Más detalles

Ejercicio 1 (3 puntos).-

Ejercicio 1 (3 puntos).- URJC Ingeniería Técnica de Gestión Abril 2011 Asignatura: SOFTWARE AVANZADO Normas: La prueba consta de 2 ejercicios. La máxima nota del examen es un 8. Siendo la práctica la que añade los 2 puntos que

Más detalles

Aprendizaje activo: flujos

Aprendizaje activo: flujos Clase 29 Aprendizaje activo: flujos La aplicación Logger 2 1 Objetivos En el marco de trabajo de la aplicación Logger, analizaremos tres formas de leer y escribir datos utilizando flujos de Java: 1. como

Más detalles

Tema 2: Clase y objetos en Java. Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle

Tema 2: Clase y objetos en Java. Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle Tema 2: Clase y objetos en Java Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle Índice Introducción Clases Objetos Semántica referencia Métodos y mensajes Creación de objetos Modelo

Más detalles

J2SE 5. 2007, Grupo Salenda, S.L.

J2SE 5. 2007, Grupo Salenda, S.L. J2SE 5 Novedades 2007, Grupo Salenda, S.L. Introducción Publicada en agosto de 2004. Lo más destacado: Nuevas funcionalidades del lenguaje. Compatible con versiones anteriores. 2 Métodos con lista variable

Más detalles

Tema 3: Herencia en Java. Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle

Tema 3: Herencia en Java. Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle Tema 3: Herencia en Java Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle Índice Introducción Herencia y creación Herencia y Ocultamiento de la Información Redefinición de características

Más detalles

fundamentos de programación (unidad 7) herencia y relaciones entre clases

fundamentos de programación (unidad 7) herencia y relaciones entre clases fundamentos de programación (unidad 7) herencia y relaciones entre clases Para ver una copia completa de la licencia, acudir a la dirección http://creativecommons.org/licenses/by-nc-sa/2.5/es/legalcode.es

Más detalles

Patrones de diseño. Sesión 1: Introducción y patrones básicos. Especialista Universitario Java Enterprise

Patrones de diseño. Sesión 1: Introducción y patrones básicos. Especialista Universitario Java Enterprise Sesión 1: Introducción y patrones básicos Titulo Módulo 2006-2007 Depto. Ciencia de la Computación e IA Titulo sesión-1 En el desarrollo de aplicaciones J2EE ( y no J2EE!) se presentan una y otra vez los

Más detalles

Tutorial básico del entorno de desarrollo Eclipse.

Tutorial básico del entorno de desarrollo Eclipse. Tutorial básico del entorno de desarrollo Eclipse. Arrancar Eclipse. Después de descomprimir la aplicación, dar doble clic sobre el ícono ejecutable para arrancar la aplicación. En caso de que se presente

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Encapsulamiento: Control de Acceso Clases en Java (1) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO En Java se organizan las clases en paquetes

Más detalles

Tema 3: Genericidad en Java. Tema 3: Genericidad en Java. Objetivos y Bibliografía. Modelos de Datos Genéricos

Tema 3: Genericidad en Java. Tema 3: Genericidad en Java. Objetivos y Bibliografía. Modelos de Datos Genéricos Tema 3: Genericidad en Java Tema 3: Genericidad en Java Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Índice general: 1. Definición y Ventajas de la

Más detalles

INTELIGENCIA EN REDES DE COMUNICACIONES PRÁCTICA FINAL. Ignacio Ribas Ramos Miguel Flecha Lozano Ingeniería de Telecomunicaciones

INTELIGENCIA EN REDES DE COMUNICACIONES PRÁCTICA FINAL. Ignacio Ribas Ramos Miguel Flecha Lozano Ingeniería de Telecomunicaciones INTELIGENCIA EN REDES DE COMUNICACIONES PRÁCTICA FINAL BLACKJACK Ignacio Ribas Ramos Miguel Flecha Lozano Ingeniería de Telecomunicaciones 1. Explicación del juego de cartas del Blackjack El Blackjack

Más detalles

Universidad de Cantabria corcuerp@unican.es

Universidad de Cantabria corcuerp@unican.es Arrays y ArrayList Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Familiarizarse con el uso de arrays y array lists para coleccionar

Más detalles

Estructuras básicas de la programación en Java

Estructuras básicas de la programación en Java Estructuras básicas de la programación en Java ELO-329: Diseño y programación orientados a objetos Agustín J. González ELO329 1 Primer programa en Java Todo programa debe tener al menos una clase. Toda

Más detalles

FACULTAD DE INGENIERÍA

FACULTAD DE INGENIERÍA NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Variables y Tipos de Datos PRÁCTICA NÚM. [ 1 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje

Más detalles

10. Algunas clases estándar de Java (I)

10. Algunas clases estándar de Java (I) Programación orientada a objetos con Java 113 10. Algunas clases estándar de Java (I) Objetivos: a) Presentar algunas de las clases predefinidas en Java b) Interpretar el código fuente de una aplicación

Más detalles

Programación Orientada a Objetos. Tema 7: Persistencia

Programación Orientada a Objetos. Tema 7: Persistencia Programación Orientada a Objetos Tema 7: Persistencia Tema 7: Persistencia Contenidos 1. LIBRERÍA I/O 2. FICHEROS 3. FICHEROS DE ACCESO DIRECTO 4. FICHEROS DE TEXTO 5. SERIALIZACIÓN DE OBJETOS 6. EJEMPLO

Más detalles

Pruebas de unidad con JUnit

Pruebas de unidad con JUnit Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro

Más detalles

Programación Orientada a Objetos en JAVA

Programación Orientada a Objetos en JAVA Programación Orientada a Objetos en JAVA Jorge Pérez Introducción a la Computación Jorge Pérez Programación Orientada a Objetos en JAVA 1 / 36 Orientación a Objetos OO es un paradigma de modelación y programación

Más detalles

Introducción a la Programación Orientada a Objetos

Introducción a la Programación Orientada a Objetos Introducción a la Programación Orientada a Objetos El paradigma imperativo. En un programa se tienen una serie de variables con las cuales operamos y modificamos mediante sentencias y funciones para producir

Más detalles

3.6 Patrón Factory y objetos persistentes. Políticas del POA asociadas

3.6 Patrón Factory y objetos persistentes. Políticas del POA asociadas 3.6 Patrón Factory y objetos persistentes. Políticas del POA asociadas Introducción Una factoría es un objeto CORBA que proporciona operaciones para crear otros objetos CORBA Juega un papel similar al

Más detalles

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores El lenguaje de programación Java Programa Java Un programa Java está formado por un conjunto de clases que interactúan entre sí La clase es la unidad básica de programación La ejecución depende de la clase

Más detalles

Metodología y Tecnología de la Programación

Metodología y Tecnología de la Programación Metodología y Tecnología de la Programación Curso 2008/09 Tema 7 Tipos de Datos Abstractos Temario 7.1 Concepto de Tipo de Datos Abstracto 7.2 Clasificación de Tipos de Datos Abstractos 7.3 Especificación

Más detalles

FIUBA - 7507 Algoritmos y programación 3

FIUBA - 7507 Algoritmos y programación 3 FIUBA - 7507 Algoritmos y programación 3 Trabajo práctico 2: Algo Hero 2010 1er cuatrimestre, 2010 1er entrega (trabajo grupal) Integrantes: 90365, Nahuel Lucero, nahuel.bm6@gmail.com 91299, Diego Meller,

Más detalles

Tema Evaluación / Pruebas del Software

Tema Evaluación / Pruebas del Software 1 DISEÑO DE SISTEMAS DE INFORMACIÓN Tema Evaluación / Pruebas del Software 2 Tema 3. Evaluación / Pruebas del Software 3 Índice Introducción Objetivos y principios de las pruebas Diseño de casos de prueba

Más detalles

Soluciones Ejercicios Tema 3

Soluciones Ejercicios Tema 3 1 Soluciones Ejercicios Tema 3 Germán Moltó gmolto@dsic.upv.es Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Solución Ejercicio

Más detalles

RESPUESTA Sí, una clase puede manejar objetos. Aunque esta frase es bastante ambigua, apréndetela de memoria para el examen y no le des más vueltas.

RESPUESTA Sí, una clase puede manejar objetos. Aunque esta frase es bastante ambigua, apréndetela de memoria para el examen y no le des más vueltas. 1. PREGUNTA: Una clase puede manejar objetos? RESPUESTA Sí, una clase puede manejar objetos. Aunque esta frase es bastante ambigua, apréndetela de memoria para el examen y no le des más vueltas. 2. PREGUNTA:

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

Tema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos

Tema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos Tema 2 Memoria Dinámica 2.1 Datos estáticos y dinámicos Datos estáticos: su tamaño y forma es constante durante la ejecución de un programa y por tanto se determinan en tiempo de compilación. El ejemplo

Más detalles

EXAMEN PARCIAL 23 de Octubre de 2015 Programación I. Grado en Matemáticas e Informática ETSIINF UPM

EXAMEN PARCIAL 23 de Octubre de 2015 Programación I. Grado en Matemáticas e Informática ETSIINF UPM EXAMEN PARCIAL 23 de Octubre de 2015 Programación I. Grado en Matemáticas e Informática ETSIINF UPM 1. Cuánto valen las siguientes variables (3 Puntos): public class CSeleccion{ int i=13345,j=3, z=2; if

Más detalles

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java.

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. Práctica 3 mtp metodoloxía e tecnoloxía da programación Objetivos: Duración: Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. 1 semana 1.- Identificadores Los identificadores

Más detalles

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Competencias IIC1103 Introducción a la Programación (I/2010) Interrogación 1 13 de Abril de 2010

Más detalles

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida } REUTILIZACIÓN DE CLASES:MODELO DE HERENCIA EN JAVA Java soporta herencia simple pero no múltiple. Lo hace mediante el mecanismo de extensión de clase. A partir de él, una subclase se extiende (hereda)

Más detalles

Estructura de las Aplicaciones Orientadas a Objetos Herencia de clases

Estructura de las Aplicaciones Orientadas a Objetos Herencia de clases Estructura de las Aplicaciones Orientadas a Objetos Herencia de clases Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense

Más detalles

Refactorizar (v) Reestructurar el software aplicando una secuencia de refactorizaciones.

Refactorizar (v) Reestructurar el software aplicando una secuencia de refactorizaciones. Refactorización Definición Refactorización (n) Cambio realizado a la estructura interna del software para hacerlo más fácil de comprender y más fácil de modificar sin cambiar su comportamiento observable.

Más detalles

Práctica III: Streams, Readers y Writers

Práctica III: Streams, Readers y Writers Práctica III: Streams, Readers y Writers Objetivos En esta práctica vamos a aprender a utilizar Streams, Readers y Writers para realizar operaciones de entrada/salida desde programas escritos en el lenguaje

Más detalles

Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código

Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación

Más detalles

Curso 2010-2011. Informática Lección 2. Introducción a la programación en Java

Curso 2010-2011. Informática Lección 2. Introducción a la programación en Java Fundamentos de Informática Lección 2. Introducción a la programación en Java Curso 2010-2011 Pedro Álvarez y José Ángel Bañares 24/09/2010. Dpto. Informática e Ingeniería de Sistemas. Índice de contenidos

Más detalles

Clase adicional 3. Métodos. Temas

Clase adicional 3. Métodos. Temas Clase adicional 3 Temas Métodos o Definir un método o Llamar a un método o Llamada por valor o Constructores o Método static Arrays Vectores Problemas de la clase adicional Problemas de diseño Métodos

Más detalles

CAPITULO 4. AGRUPAR OBJETOS

CAPITULO 4. AGRUPAR OBJETOS CAPITULO 4. AGRUPAR OBJETOS 4.1 Agrupar objetos en colecciones de tamaño flexible Frecuentemente se necesitan agrupar los objetos en colecciones; muchas veces el número de elementos almacenados en la colección

Más detalles

Ejercicios del tema 7: Clases y objetos

Ejercicios del tema 7: Clases y objetos Metodología y Tecnología de la Programación ESI-UCLM Ejercicios del tema 7: Clases y objetos 1. a) Diseñe e implemente en Java una clase para trabajar con triángulos isósceles. Para ello, defina las variables

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN: TRABAJO PRÁCTICO OBLIGATORIO (EVALUACIÓN ORDINARIA) Curso: 2013/14

FUNDAMENTOS DE PROGRAMACIÓN: TRABAJO PRÁCTICO OBLIGATORIO (EVALUACIÓN ORDINARIA) Curso: 2013/14 CONTEXTO FUNDAMENTOS DE PROGRAMACIÓN: TRABAJO PRÁCTICO OBLIGATORIO (EVALUACIÓN ORDINARIA) Curso: 2013/14 CASO DE APLICACIÓN: GESTIÓN DE APPS Versión: 2.0.6 El trabajo práctico se enmarca en el desarrollo

Más detalles

Este resumen ha sido elaborado para ser leído después de haber asistido a clase: pretende fijar y profundizar en los conceptos ya explicados.

Este resumen ha sido elaborado para ser leído después de haber asistido a clase: pretende fijar y profundizar en los conceptos ya explicados. Resumen PAV (7) Este resumen ha sido elaborado para ser leído después de haber asistido a clase: pretende fijar y profundizar en los conceptos ya explicados. Listas y hashes (I) Introducción Los programas

Más detalles

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h>

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h> Arreglos Introducción. En los temas anteriores se han estudiado los diferentes tipos de datos simples de C++, usados para representar valores simples como enteros, reales o caracteres. Sin embargo, en

Más detalles

Programación Concurrente y de Tiempo Real Guión de Prácticas 3: Reutilización de Clases: Modelo de Herencia en Java

Programación Concurrente y de Tiempo Real Guión de Prácticas 3: Reutilización de Clases: Modelo de Herencia en Java Programación Concurrente y de Tiempo Real Guión de Prácticas 3: Reutilización de Clases: Modelo de Herencia en Java Natalia Partera Jaime Alumna colaboradora de la asignatura Índice 1. Herencia en la Programación

Más detalles

Open Virtual Machine Language 0.122 Quick Start Guide. Español

Open Virtual Machine Language 0.122 Quick Start Guide. Español Open Virtual Machine Language 0.122 Quick Start Guide Español 1 Índice Página 3 Definción de clase Definición de interface Definición de método Definición de Atributos Página 4 Definición de variables

Más detalles

Primer Parcial Septiembre 5 de 2009

Primer Parcial Septiembre 5 de 2009 Primer Parcial Septiembre 5 de 2009 Algoritmos y Lenguajes II Reglas del juego Tal como se le dijo antes, durante este examen usted no puede pedir ABSOLUTAMENTE nada prestado a sus compañeros, ni hablar

Más detalles

IMPLEMENTACIÓN DEL JUEGO DEL AJEDREZ

IMPLEMENTACIÓN DEL JUEGO DEL AJEDREZ IMPLEMENTACIÓN DEL JUEGO DEL AJEDREZ UNIVERSIDAD DE LAS ISLAS BALEARES TECNOLOGÍA DE LA PROGRAMACIÓN 2006 / 2007 Alumno: Ligia Tatiana González Leyva {X4741315A Índice de contenido 1.Introducción...3 2.Simplificaciones...

Más detalles

Almacenamiento de datos. JOSE LUIS BERENGUEL GÓMEZ jlberenguel@gmail.com Febrero 2012

Almacenamiento de datos. JOSE LUIS BERENGUEL GÓMEZ jlberenguel@gmail.com Febrero 2012 Almacenamiento de datos JOSE LUIS BERENGUEL GÓMEZ jlberenguel@gmail.com Febrero 2012 Contenidos Almacenamiento de preferencias. Almacenamiento en la memoria interna. Almacenamiento en la memoria externa.

Más detalles

2. Estructura de un programa en Java

2. Estructura de un programa en Java 24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador

Más detalles

Elementos del lenguaje Java

Elementos del lenguaje Java Elementos del Lenguaje Java Programación Orientada a Objetos Facultad de Informática Dep. Sistemas Informáticos y Programación Universidad Complutense Madrid Elementos del lenguaje Java Un programa Java

Más detalles

15. Parámetros o argumentos

15. Parámetros o argumentos Programación orientada a objetos con Java 161 15. Parámetros o argumentos Objetivos: a) Profundizar en el concepto de parámetro de una clase e indicar su mecanismo de funcionamiento. b) Interpretar el

Más detalles

Tema 2. Técnicas básicas de POO. Técnicas de Programación - Curso 2007/08

Tema 2. Técnicas básicas de POO. Técnicas de Programación - Curso 2007/08 Tema 2 Técnicas básicas de POO Técnicas de Programación - Curso 2007/08 Contenido Principios de POO Encapsulación Herencia Polimorfismo Ejemplos Técnicas básicas Delegación Uso de interfaces Interfaces

Más detalles

Tema 2. El lenguaje de programación Java. Arrays y cadenas

Tema 2. El lenguaje de programación Java. Arrays y cadenas Programación en Java Tema 2. El lenguaje de programación Java. Arrays y cadenas Luis Rodríguez Baena Facultad de Informática Arrays y colecciones Hay dos formas de guardar varias referencias a objetos:

Más detalles

Los caracteres de Java pueden agruparse en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape.

Los caracteres de Java pueden agruparse en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape. CARACTERES EN JAVA Los caracteres de Java pueden agruparse en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape. Letra, Dígitos y Otros Estos caracteres

Más detalles

Tipos primitivos y clases de interés

Tipos primitivos y clases de interés Programación Avanzada para Sistemas de Telecomunicación Tipos primitivos y clases de interés Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Tipos primitivos. Clase String y asociadas. Clases

Más detalles

INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 31 de MAYO de 2001

INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 31 de MAYO de 2001 INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 31 de MAYO de 2001 NOMBRE: GRUPO: 1.- Es posible que un sistema que no ofrezca mecanismos de HERENCIA presente la característica conocida por POLIMORFISMO?

Más detalles

Introducción a Java III. Prof. MSc. Pedro Shiguihara

Introducción a Java III. Prof. MSc. Pedro Shiguihara 1 Introducción a Java III Prof. MSc. Pedro Shiguihara Temas 2 1. Recordando variables 2. Recordando impresiones en pantalla (System.out.println) 3. Entrada de datos usando la clase Scanner Programa Java

Más detalles

Clases. Java: Clases y Objetos. Clases. Clases. Modificadores de clase. Definición de una clase. Cada objeto es un ejemplar de una clase

Clases. Java: Clases y Objetos. Clases. Clases. Modificadores de clase. Definición de una clase. Cada objeto es un ejemplar de una clase Java: Clases y Objetos Clases La unidad fundamental de programación en Java es la clase Un programa Java está formado por un conjunto de clases Una clase es una plantilla que describe un conjunto de objetos

Más detalles

11. Algunas clases estándar de Java (II)

11. Algunas clases estándar de Java (II) 122 A. García-Beltrán y J.M. Arranz 11. Algunas clases estándar de Java (II) Objetivos: a) Presentar la clase predefinida en Java para trabajar con arrays b) Interpretar el código fuente de una aplicación

Más detalles

APELLIDOS:... NOMBRE:... GRUPO:... NÚMERO DE EXPEDIENTE:...

APELLIDOS:... NOMBRE:... GRUPO:... NÚMERO DE EXPEDIENTE:... Cuadernillo de examen ASIGNATURA Laboratorio de Sistemas Operativos Abiertos (Java) CÓDIGO 321 CONVOCATORIA Extraordinaria de Septiembre de 2003 PLAN DE ESTUDIOS 1996 ESPECIALIDAD Sistemas CURSO 2002/2003

Más detalles

El lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org>

El lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org> El lenguaje de Programación C Fernando J. Pereda Por qué aprender C? Portable y muy extendido Estándar (C89, C99) El lenguaje de los sistemas Un lenguaje fácil (no, no es broma) Por

Más detalles

ESTRUCTURAS DE DATOS ÁRBOLES 143

ESTRUCTURAS DE DATOS ÁRBOLES 143 ESTRUCTURAS DE DATOS ÁRBOLES 143 TEMA 4. ÁRBOLES 4.1. CONCEPTOS GENERALES. Un árbol es una estructura de datos ramificada (no lineal) que puede representarse como un conjunto de nodos enlazados entre sí

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

Más detalles

Generics y Visual Basic.NET

Generics y Visual Basic.NET Por Guillermo Guille Som Visual Basic MVP desde 1997 www.elguille.info Generics y Visual Basic.NET Es mucho lo que se ha escrito (y seguramente se seguirá escribiendo) sobre esta nueva característica de

Más detalles

Práctica1: Medición del Tiempo

Práctica1: Medición del Tiempo Práctica1: Medición del Tiempo Objetivo Medir teórica y experimentalmente el tiempo de ejecución de algoritmos. Procedimiento General. En Netbeans cree el proyecto P1_Timing para incorporar los códigos

Más detalles

Práctica 5: Servidor web concurrente en Java

Práctica 5: Servidor web concurrente en Java Práctica 5: Servidor web concurrente en Java Esta práctica pretende familiarizar al alumno con la programación de servidores que emplean sockets TCP. Para ello partiremos del servidor web básico visto

Más detalles

Programación III. 1. Facultad: Ingeniería Escuela: Computación Asignatura:Programación III I. OBJETIVOS II. INTRODUCCIÓN TEÓRICA

Programación III. 1. Facultad: Ingeniería Escuela: Computación Asignatura:Programación III I. OBJETIVOS II. INTRODUCCIÓN TEÓRICA Programación III. 1 Facultad: Ingeniería Escuela: Computación Asignatura:Programación III GUIA1: Uso de C# modo consola. I. OBJETIVOS Qué el estudiante: Conozca el lenguaje de programación Visual C#.Net

Más detalles

Introducción a la programación con C#.

Introducción a la programación con C#. Introducción a la programación con C#. El programa básico, Hola Mundo. El siguiente programa es la versión C# que muestra la cadena Hola Mundo por consola. // Programa C# que muestra Hola Mundo por consola.

Más detalles

Enunciado Práctica Java EE Iteración 1: aplicación web con JSF

Enunciado Práctica Java EE Iteración 1: aplicación web con JSF Enunciado Práctica Java EE Iteración 1: aplicación web con JSF SCS, 2011/12 11 de octubre de 2011 Índice 1. Descripción del problema 1 2. Especificaciones 4 2.1. Capa de negocio: Entidades JPA....................................

Más detalles

Programación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas

Programación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas Programación 1 Tema II. Diseño de programas elementales Lección 7. Diseño modular y descendente de programas 1 Objetivos de la lección : Aprender qué es un diseño modular de un programa Aprender a diseñar

Más detalles

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Fundamentos de la informática 2. Algoritmos, diagramas de flujo y pseudocódigo Contenido Algoritmos Diagramas de flujo

Más detalles

9. Objetos y clases. 9.1. Clases

9. Objetos y clases. 9.1. Clases Programación orientada a objetos con Java 103 9. Objetos y clases Objetivos: a) Presentar el concepto de objeto, clase, atributo, método e instancia b) Interpretar el código fuente de una aplicación Java

Más detalles

1. Manejo de memoria estática 2. Manejo de memoria dinámica

1. Manejo de memoria estática 2. Manejo de memoria dinámica 1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo

Más detalles

Cómo nombrar variables ( 2&

Cómo nombrar variables ( 2& &'()*+,, *)-.&'*/0+!" #$ # http://www.escet.urjc.es/~aiiq/ Introducción a Visual Studio.NET Aprendiendo el IDE de Visual Basic.NET Elementos del lenguaje. Variables y estructuras de datos Introducción

Más detalles