52
ArrayList Bucles Matrices Cuestiones Tareas Sesi´ on 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACI ´ ON DE OBJETOS Fundamentos de Inform´ atica Jos´ e Jaime Noguera Noguera 15 de marzo de 2018

Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

  • Upload
    others

  • View
    41

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Sesion 5. TEMA 7 ESTRUCTURAS DEALMACENAMIENTO Y AGRUPACION DE

OBJETOSFundamentos de Informatica

Jose Jaime Noguera Noguera

15 de marzo de 2018

Page 2: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Contenidos

1 ArrayList

2 Bucles

3 Matrices

4 Cuestiones

5 Tareas

Page 3: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Clases de librerıa

Disponemos de una amplia coleccion de clases ya programadas quepodemos aprovechar para realizar nuestros programas. Se conocencomo clases de librerıa y vienen agrupadas en paquetes. No nece-sitamos conocer su implementacion, solo su funcionamiento. Parahacer uso de ellas utilizamos en las primeras lıneas de la clase:

Importacion de una clases de librerıaimport paquete.subpaquete.NombreClase;

Importacion de todas las clases de un subpaqueteimport paquete.subpaquete.*;

Page 4: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Coleccion: ArrayList

Objeto coleccionObjeto que puede almecenar un numero arbitrario de otros objetos.

ArrayList es una clase de librerıa que implementa un tipo de objetocoleccion. En particular permite agrupar objetos mediante una listasecuencial desordenada de tamano flexible.

Page 5: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

ArrayList

Para utilizar ArrayList en nuestra clase debemos:Importacion: import java.util.ArrayList;Definicion: ArrayList<Tipo> NombreColeccion;Creacion: NombreColeccion=new ArrayList<Tipo>();

Como vemos hay que especificar el tipo de objeto que queremosagrupar en nuestra coleccion. Este tipo de clases se denominan cla-ses genericas. No se pueden almacenar tipos primitivos, siem-pre hay que usar tipos de objeto.

Page 6: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Ejemplos

Definicion de un campo que contendra una coleccion deenteros:

private ArrayList<Integer> enteros;

Definicion de un campo que contendra una coleccion deobjetos tipo Coche:

private ArrayList<Coche> coches;

Definicion de una variable local que contrendra una coleccionde String.

ArrayList<String> cadenas;

Page 7: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Definicion+Creacion

El siguiente proceso:

private ArrayList<Double> racionales; // Definicionracionales= new ArrayList<Double>(); //Creacion

Puede expresarse en una sola linea:

private ArrayList<Double> racionales = new ArrayList<Double>();

Page 8: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Metodos importantes de ArrayList

add(object) Anade el objeto object a la coleccion. Lo anade alfinal de la lista.

get(index) Devuelve el objeto de la coleccion que ocupa laposicion index.

size() Devuelve el numero de elementos que tiene lacoleccion.

remove(index) Borra el elemento que ocupa la posicion index (ylos posteriores se desplazan una posicion a laizquierda). index es un entero.

Page 9: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Importante

NumeracionLos ındices en ArrayList empiezan desde 0.

RefenciasEn un ArrayList nunca se almacenan los objetos sino referencias aobjetos.

ArrayList de ArrayListNo hay ningun lımite en cuanto al tipo de objeto que se puedecoleccionar, de hecho se puede crear un ArrayList de ArrayList.

Page 10: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Ejemplo

Con el Code Pad, podemos probar algun ejemplo:

import java.util.ArrayList;ArrayList<String> nombres=new ArrayList<String>();nombres.add(”Pepe”);nombres.add(”Juan”);nombres.add(”Rosa”);nombres.add(”Maria”);

Si hacemosint a=nombres.size();

El valor de la variable a sera 4

Page 11: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Ejemplo

En este momento tenemos la situacion

Figura 1: Respresentacion grafica de un ArrayList.

Si queremos eliminar la cadena ”Juan”, debemos utilizarnombres.remove(1);

Page 12: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Bucles

Bucle forfor(int i= 0; i<=max iteraciones; i++){

cuerpo del bucle;}

int i=0 es la inicializacion. Puede empezar por cualquier otrovalor, y podemos utilizar cualquier nombre de variable.i<max iteraciones es la condicion para continuar el siguientepaso. Podemos utilizar <, <=, >, >=.i++, es la accion que se realiza despues de cada iteracion. Eneste caso se suma uno a i. Si fuese i - - se restarıa uno, sifuese i=i+2 se sumarıa 2.

Page 13: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Bucles

Bucle for-eachfor(TipoElemento elemento : coleccion){

cuerpo del bucle;}

Ejemplo. coches es un ArrayList que contiene objetos de la claseCoche:

for(Coche coche tmp : coches){cuerpo del bucle;

}No necesitamos gestionar el ındice y en el cuerpo del bucle podemosutilizar directamente coche tmp, que representara un objeto distintopara cada iteracion.

Page 14: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Bucles

Bucle whilewhile(i<=max iteraciones){

cuerpo del bucle;i++;

}

i<=max iteraciones se ha puesto como ejemplo, realmentese puede poner cualquier condicion booleana.i++, gestionamos el ındice en el interior del bucle, en casocontrario podemos entrar en un bucle infinito.El ındice i debe estar definido e inicializado antes de la lıneawhile (por ejemplo int i=0;).

Page 15: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Bucles

Aunque el libro lo explica en este capıtulo, nos queda explicar unultimo bucle:Bucle do-whiledo{

cuerpo del bucle;} while (expresion);

Se ejecuta siempre al menos una vez.Si expresion se cumple, se ejecuta de nuevo el bucle, si no,finaliza.

Page 16: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Bucles

IteratorIterator<TipoElemento> it =nombreColeccion.iterator();while(it.hasNext()) {

Cuerpo del bucle;it.next (elemento que varıa en cada iteracion);

}

Observar la nomenclatura anterior (mayusculas-minustulas)it es un nombre arbitrarioDebemos incluir import java.util.Iterator;En principio no parece tener ventajas respecto a los otros,pero es necesario para ciertos casos.

Page 17: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

EJEMPLO

Page 18: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Ejemplo: creando objetos

Instanciamos la clase Bucles e introducimos varios nombres, porejemplo:Bucles bucles1 = new Bucles();bucles1.introduceNombre(”Sofıa”);bucles1.introduceNombre(”Roberto”);bucles1.introduceNombre(”Sonia”);bucles1.introduceNombre(”Noelia”);bucles1.introduceNombre(”Paco”);

Page 19: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Ejemplo

Bucle for

public void imprimeFor(){for(int i=0;i<nombres.size();i++){

System.out.println(nombes.get(i));}

}

Page 20: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Ejemplo

Bucle for-each

public void imprimeForEach(){for(String nomb_tmp : nombres){

System.out.println(nomb_tmp);}

}

Page 21: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Ejemplo

Bucle while

public void imprimeWhile(){int i=0;while (i<nombres.size()){

System.out.println("Posicion "+i+": "+nombres.get(i));i++;

}}

Page 22: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Ejemplo

Bucle do-while

public void imprimeDoWhile(){int i=0;do{

System.out.println("Posicion "+i+":"+nombres.get(i));

i++;}while (i<nombres.size());

Page 23: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Ejemplo

Bucle Iterator

public void imprimeIterator(){Iterator<String> it=nombres.iterator();while (it.hasNext()){

String name=it.next();System.out.println(name);

}}

Page 24: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Ejemplo. Eliminacion con Iterator

Imaginemos que queremos borrar todos los nombres que empiecenpor S. Deberemos seguir los pasos:

1 Un blucle de busqueda.2 Si se cumple la condicion, borrar el elemento.

Si utilizamos bucles for, al modificar el ArrayList durante la ejecucionse puede producir un error (ConcurrentModificationException). Laforma mas adecuada de hacerlo es con Iterator, ya que no produceese tipo de excepciones.

Page 25: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Ejemplo: eliminando nombres que empiezan por s o S

public void eliminaEmpiezaS(){Iterator<String> it = nombres.iterator();while(it.hasNext()){

String name=it.next();if(name.trim().substring(0,1).toLowerCase().equals("s")){

it.remove();}

}}

Se han utilizado los metodos de String: .trim() (elimina espacios ini-ciales en blanco); .toLowerCase() (cambia a minusculas); .equals()(compara dos cadenas y devuelve True si son iguales y False en casocontrario); .substring() (ya se explico).

Page 26: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Ejemplo: eliminando nombres que empiezan por s o S

Otra manera de hacer lo mismo pero mediante bucle for-each es:

public void eliminaEmpiezaS2For(){for(Iterator<String> it =

nombres.iterator();it.hasNext(); ){String name=it.next();if(name.trim().substring(0,1).toLowerCase().equals("s")){

it.remove();}

}}

Page 27: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

¿Que bucle elegir?

No hay un bule mejor o peor, depende de lo que se quieraconseguir.Si necesitamos trabajar con ındices, for o while, ya que confor-each necesito definir el ındice.Si no se necesitan ındices y solo quiero trabajar directamentecon los elementos de la coleccion, for-each es mas comodo yelegante.Si queremos ejecutal el bucle al menos una vez, do-while.Para eliminaciones dentro de bucles utilizar Iterator.

Page 28: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Matrices (Arrays)

Podemos hacernos una idea de que es una matriz (array en ingles)si recordamos en concepto matematico de vector y/o matriz. Tienelas peculiaridades:

Es de tamano fijo y debemos saber dicho tamano cuandocreemos la matriz.El acceso a los elementos suele ser mas eficiente de encolecciones de tamano flexible.Pueden almacenar tanto valores de tipo primitivo comoobjetos (en este caso almacena referencias a objetos).Al crearlos se inicializan sus elementos. Por ejemplo, si sonenteros se inicializan a 0. Si son objetos se inicializan susreferencias a null.Su sintaxis proviene de otros lenguajes.Normalmente se utilizan con bucles for.

Page 29: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Matrices (Arrays)

Ejemplo: Matriz de 10 enteros de una dimension.

Definicion TipoDato[ ] nombre;Creacion nombre = new TipoDato[tamano];

En nuestro caso (lo ponemos en una unica lınea):int[ ] vector = int[10];Si queremos asignar un valor simplemente igualamos (serıa cono unmetodo set): vector[0]=4; vector[7]=-3;Para utilizar el valor, simplemente utilizamos el nombre y la posicion(serıa como un get): vector[1]=vector[0]+vector[7];

Page 30: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Matrices. Ejemplo, continuacion

Si queremos recorrer todos los elementos (para imprimirlos por ejem-plo), podemos utilizar la propiedad (no es un metodo) lenght, quenos da el tamano de la matriz:

public void imprimeVector(){for(int i=0; i<vector.length;i++ ){

System.out.println(vector[i]);}

Page 31: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Matrices de dos dimensiones

Ejemplo:public int[ ][ ] matriz = new int[3][4] //matriz de 3 filas y 4 columnasint[4][5]=7; // Asigno al elemento matriz4,5 el valor 7

Recorrer los elementos:

public void imprimeMatriz(){for(int i=0; i<matriz.length;i++ ){

for(int j=0; j<matriz[0].length;j++ ){System.out.println(vector[i][j]);

}}

Page 32: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Pregunta

¿Cual es el contenido de la variable i y j?int i=3;int j;j=i++;

Page 33: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Respuesta

¿Cual es el contenido de la variable i y j?int i=3;int j;j=i++;

i contiene el valor 4 y j el valor 3

Page 34: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Pregunta

¿Cual es el contenido de la variable i y j?int i=3;int j;j=++i;

Page 35: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Respuesta

¿Cual es el contenido de la variable i y j?int i=3;int j;j=++i;

Tanto i como j contienen el valor 4.

Page 36: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Pregunta

¿Que imprime?System.out.println(2 > 7||3 <= 4 ? ”uned” : ”denia”);

Page 37: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Respuesta

¿Que imprime?System.out.println(2 > 7||3 <= 4 ? ”uned” : ”denia”);

Imprime uned. Recordar que dentro del parentesis hay un operadorternario que es similar a un condicional: condicion ? accion1 : accion2Si la condicion es True se lleva a cabo la accion1, en caso contrariola otra.

Page 38: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Pregunta

Encuentra el error:Arraylist<Persona> personas;

Page 39: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Respuesta

Encuentra el error:Arraylist<Persona> personas;

ArrayList y no Arraylist.

Page 40: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Pregunta

Tenemos lo siguiente:ArrayList<Integer> enteros = new ArrayList<Integer>();enteros.add(4);enteros.add(-3);enteros.add(7);enteros.add(0);enteros.remove(2);int a=enteros.get(2);¿Que contiene a?

Page 41: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Respuesta

Tenemos lo siguiente:ArrayList<Integer> enteros = new ArrayList<Integer>();enteros.add(4);enteros.add(-3);enteros.add(7);enteros.add(0);enteros.remove(2);int a=enteros.get(2);¿Que contiene a?

Contiene el valor 0.

Page 42: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Pregunta

¿Que imprime?

enteros=new ArrayList<Integer>();\\enteros.add(4);enteros.add(-3);enteros.add(7);enteros.add(0);enteros.add(4);for(int i=1;i<enteros.size();i++){

if(i<=2){System.out.print(enteros.get(i));

}}

Page 43: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Respuesta

¿Que imprime?

enteros=new ArrayList<Integer>();\\enteros.add(4);enteros.add(-3);enteros.add(7);enteros.add(0);enteros.add(4);for(int i=1;i<enteros.size();i++){

if(i<=2){System.out.print(enteros.get(i));}

}

Imprime -37.

Page 44: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Pregunta

¿Verdadero o falso?Si queremos eliminar un elemento de una coleccion al recorrerla, solopodemos utilizar Iterator con el bucle While.

Page 45: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Respuesta

¿Verdadero o falso?Si queremos eliminar un elemento de una coleccion al recorrerla, solopodemos utilizar Iterator con el bucle While.

Falso, Iterator puede utilizarse en combinacion con un bucle for.

Page 46: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Pregunta

Encuentra el errorArrayList<Coche> coches=new ArrayList<Coche>();Iterator<Coche> coche =coches.Iterator();

Page 47: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Respuesta

Encuentra el errorArrayList<Coche> coches=new ArrayList<Coche>();Iterator<Coche> coche =coches.Iterator();

Debe ser coches.iterator() y no en mayuscula.

Page 48: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Pregunta

¿Que imprime esto?

for(int i=0;i<=10;i++){System.out.println("Hola");if(i==3){

breack;}

}

Page 49: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Respuesta

¿Que imprime esto?

for(int i=0;i<=10;i++){System.out.println("Hola");if(i==3){

breack;}

}

Imprime:HolaHolaHolaHola

Page 50: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Pregunta

¿Es correcto lo siguiente?int a[ ] = new int[4];

Page 51: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Respuesta

¿Es correcto lo siguiente?int a[ ] = new int[4];

Sı, puede utilizarse esta notacion. Produce el mismo resultado que:int[ ] a=new[4];

Page 52: Sesión 5. TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y ... · TEMA 7 ESTRUCTURAS DE ALMACENAMIENTO Y AGRUPACION DE´ ... 5 Tareas. ArrayList Bucles Matrices Cuestiones Tareas Clases de

ArrayList Bucles Matrices Cuestiones Tareas

Tareas

Realizar el test del Tema 7: Estructuras dealmacenamiento y agrupacion de objetos enjjnoguera.wordpress.con/uned-deniaLeer los apartados 6.1-6.5-6.12-6.16 del libro y el Apendice I.Programar tus propios ejemplos sobre colecciones. Insertarelementos, borrarlos, buscar un elemento...