JAVA: RECORRIDO DE UNA LISTA

JAVA: RECORRIDO DE UNA LISTA
CONTEXTO
Las listas son muy utilizadas para manejar colecciones de datos, su ventaja es que puedes agregar elementos y eliminarlos de manera dinámica.
En este articulo, te muestro como recorrer listas genericas.
Existen varias opciones para recorrer una lista:
  • Recorrido indexado.
  • Recorrido tipo colección.
  • Expresiones Lambda
RECORRIDO INDEXADO
A continuación tienes un ejemplo de cómo realizar un recorrido indexado:
package pe.egcc.prueba;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 *
 * @author Gustavo Coronel
 */
public class Prueba01 {
  
  // Lista generica: Lista de tipo Object
  public static void main(String[] args) {
    
    List lista = new ArrayList();
    
    lista.add(345);
    lista.add(345.67);
    lista.add("Gustavo Coronel");
    lista.add(new Date());
    
    // Recorrido indexado de la lista
    for (int i = 0; i < lista.size(); i++) {
      System.out.println(i + ".- " + lista.get(i));      
    }
    
  }
  
}
RECORRIDO TIPO COLECCIÓN
Conocido como for each. A continuación tienes un ejemplo de como usar el recorrido tipo colección:
package pe.egcc.prueba;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 *
 * @author Gustavo Coronel
 */
public class Prueba02 {

  // Lista generica: Lista de tipo Object
  public static void main(String[] args) {
    
    List lista = new ArrayList();
    
    lista.add(345);
    lista.add(345.67);
    lista.add("Gustavo Coronel");
    lista.add(new Date());
    
    // Recorrido tipo colección: for each
    for (Object o : lista) {
      System.out.println(o);
    }
    
  }
  
}
EXPRESIONES LAMBDA
A continuación tienes un ejemplo de cómo usar las expresiones lambda en el recorrido de una lista:
package pe.egcc.prueba;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 *
 * @author Gustavo Coronel
 */
public class Prueba03 {

  // Lista generica: Lista de tipo Object
  public static void main(String[] args) {
    
    List lista = new ArrayList();
    
    lista.add(345);
    lista.add(345.67);
    lista.add("Gustavo Coronel");
    lista.add(new Date());
    
    // Recorrido tipo colección: for each
    lista.stream()
      .forEach(o -> System.out.println(o));
    
  }
  
}
La ventaja de las expresiones lambda, es que puedes aplicar operaciones, como por ejemplo filtros. A continuación tienes un ejemplo:
package pe.egcc.prueba;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 *
 * @author Gustavo Coronel
 */
public class Prueba04 {

  // Lista generica: Lista de tipo Object
  public static void main(String[] args) {
    
    List lista = new ArrayList();
    
    lista.add(345);
    lista.add(345.67);
    lista.add("Gustavo Coronel");
    lista.add(new Date());
    
    // Recorrido tipo colección: for each
    lista.stream()
       .filter(o -> o.toString().length() < 7)
       .forEach(o -> System.out.println(o));
    
  }
  
}
Utilizando expresiones lambda, puedes encontrar muchas más ventajas.
CODIGO FUENTE
En esta sección te presento un video que una aplicación CLIENTE-SERVIDOR desarrollada con Java y Oracle.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.