Existen muchas formas de recorrer un ArrayList para poder mostrar los elementos que contiene. Podemos recorrer un ArrayList con un bucle for, podemos recorrerlo con un Iterador, recorrerlo mediante un ListIterator, o bien, podemos utilizar una estructura foreach para recorrer el ArrayList. Si bien, quizás no sepas que la clase ArrayList
tiene un método que nos permite manipularlo mediante funciones lambda. Así que en este ejemplo vamos a ver cómo recorrer un ArrayList con lambda y foreach en Java.
Lo primero es tener nuestro ArrayList
. Así que lo creamos y cargamos una serie de elementos:
ArrayList<String> list = new ArrayList<String>(); // Añadimos elementos list.add("Marta"); list.add("Luis"); list.add("Francisco")
Utilizamos el método .add()
para ir añadiendo cada uno de los elementos del ArrayList
.
Ahora tenemos que saber qué hay un método .forEach()
. Sí, sí, un método, que no una estructura. Este método nos permite manejar los elementos mediante funciones lambda. Su sintaxis espera que este método reciba un objeto Consumer
que puede ser un método o una función lambda con Java.
public void forEach(Consumer<? super E> action)
Este consumidor se ejecutará por cada uno de los elementos que contenga el ArrayList. El Consumer
tiene una estructura dónde va el elemento a consumir, un operador arrow (->) y el método que se ejecuta. De esta manera el Consumer
que le pasamos a nuestro método .forEach()
será el siguiente:
list.forEach((n) -> System.out.println(n));
De esta forma estaremos mostrando por consola todos los elementos que contiene en ArrayList. De esta forma hemos conseguido recorrer un ArrayList con lambda y foreach en Java. Y así lo añadiremos a todas esas formas que ya conocíamos para recorrer nuestros ArrayList
.