Eliminar números pares con Lambda

17/Oct/2021 Java , , Deja un comentario
Programación en Java

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?

 

Vídeos sobre Java


¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.