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ño ArrayList<Integer> numeros = new ArrayList<Integer>(); // Añadir elementos a un ArrayList numeros.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 Iterador Iterator<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?