Eliminar números pares con Lambda
En este ejemplo vamos a utilizar programación funcional para poder eliminar números pares con Lambda de un ArrayList en Java. Es decir, la idea es tener una lista de números en un ArrayList y poder eliminar aquellos que sean pares (o impares, si prefieres hacer eso) De esta manera lo primero que tenemos que hacer es crear nuestro ArrayList de números enteros e insertar una serie de números.
// ArrayList con tamañoArrayList<Integer> numeros = new ArrayList<Integer>();
// Añadir elementos a un ArrayListnumeros.add(1);numeros.add(2);numeros.add(3);numeros.add(4);numeros.add(5);numeros.add(6);numeros.add(7);numeros.add(8);numeros.add(9);En este caso hemos insertado los 9 primero números, pero puedes poner los números que quieras. Una vez que tenemos nuestro ArrayList utilizaremos el método .removeIf() que nos permite utilizar una función lambda y que elimina los elementos del ArrayList que coincidan con dicha función. El método .removeIf() recibe como parámetro un predicado, y es que los predicados dentro de la programación funcional son aquellos que devuelven un valor boolean.
public boolean removeIf(Predicate<? super E> filter)El filtro que vamos a realizar es una función que tiene como parámetro el elemento de la lista y como implementación la validación de si es par o no. Para validar si un número es par utilizamos el operador módulo entre 2 y validamos que el resto sea igual a 0. De esta manera nuestra función quedará de la siguiente forma:
numeros.removeIf(n -> (n%2 == 0));Ahora, si comprobamos los elementos que quedan dentro del ArrayList podremos ver que solo quedan los números impares:
// Recorrer un ArrayList con un IteradorIterator<Integer> it = numeros.iterator();while(it.hasNext()) System.out.println(it.next());De esta forma ya habremos conseguido eliminar números pares con Lambda de un ArrayList en Java. ¿Te atreves a ver cómo eliminar los números impares?
Descarga el código de Eliminar números pares con Lambda
Cómo utilizar las funciones lambda y el método .removeIf() para poder eliminar números pares de una lista con Lambda en Java.