Herramientas de usuario

Herramientas del sitio


bloque3:estructurasdatos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
bloque3:estructurasdatos [14/03/2018 19:21] – [Recorrer una lista] Fernando Valdeónbloque3:estructurasdatos [16/09/2024 20:53] (actual) – editor externo 127.0.0.1
Línea 76: Línea 76:
 Existen 3 formas principales para recorrer una lista: Existen 3 formas principales para recorrer una lista:
   * **bucle for**: se recorre como siempre, llamando al método ''size()'' para comprobar su tamaño. Puedo añadir elementos a la lista mientras la recorro, pero se debe tener cuidado al borrar.   * **bucle for**: se recorre como siempre, llamando al método ''size()'' para comprobar su tamaño. Puedo añadir elementos a la lista mientras la recorro, pero se debe tener cuidado al borrar.
-  * **con un Iterator**: la forma más recomendable si debo borrar elementos mientras recorro la lista.+  * **con ''Iterator''**: la forma más recomendable __si debo borrar elementos__ mientras recorro la lista.
   * **bucle for each**: perfecto para recorrer la lista sin modificarla.   * **bucle for each**: perfecto para recorrer la lista sin modificarla.
  
Línea 96: Línea 96:
  
 //Recorro el array y muestro los elementos //Recorro el array y muestro los elementos
-for (int i = 0; i < listaNombre.size(); i++){+for (int i = 0; i < listaNombres.size(); i++){
    System.out.println(listaNombres.get(i));     System.out.println(listaNombres.get(i)); 
 +}
 +
 +//Cuidado al borrar
 +for (int i = 0; i < listaNombres.size(); i++){
 +   if(listaNombres.get(i).equals("Juan"){
 +      listaNombres.remove(i);
 +      //La i se incrementa, pero hay un elemento menos en la lista
 +      //"Laura" pasa a ser el elemento en la posición i actual
 +      //Y me la saltaré porque la i se incrementa
 +   
 } }
 </code> </code>
Línea 127: Línea 137:
    String elemento = iterador.next(); //Accedo a cada elemento    String elemento = iterador.next(); //Accedo a cada elemento
    System.out.println(elemento); //Muestro por pantalla    System.out.println(elemento); //Muestro por pantalla
-   if(elemento.equals("Elemento3"){+   if(elemento.equals("Elemento 3"){
        iterador.remove(); //Borro el elemento actual        iterador.remove(); //Borro el elemento actual
    }    }
Línea 220: Línea 230:
  
 ==== Conjuntos (Sets) ==== ==== Conjuntos (Sets) ====
-Los conjuntos en Java, al igual que los conjuntos en matemáticas, no permiten contener elementos duplicados. +Los conjuntos en Java, al igual que los conjuntos en matemáticas, no permiten contener elementos duplicados. Implementan la interface ''Set'':
  
   * ''HashSet'' : Almacena los elementos en una tabla //hash// sin mantener ningún orden.   * ''HashSet'' : Almacena los elementos en una tabla //hash// sin mantener ningún orden.
Línea 228: Línea 238:
  
 ==== Mapas ==== ==== Mapas ====
-Son colecciones que contienen asociaciones ''clave'':''valor''.+Son colecciones que contienen asociaciones ''clave'':''valor''Implementar la interface ''Map''
 Esto quiere decir que al añadir un elemento a la colección debemos añadir una clave para identificarlo. Por ejemplo: ''key'' -> dni, ''value'' -> una persona Esto quiere decir que al añadir un elemento a la colección debemos añadir una clave para identificarlo. Por ejemplo: ''key'' -> dni, ''value'' -> una persona
  
bloque3/estructurasdatos.1521055307.txt.gz · Última modificación: 16/09/2024 20:53 (editor externo)