Ejercicio Java
En este ejercicio, crearás un programa en Java que utilice **expresiones lambda** y **Streams** para realizar operaciones en colecciones. Primero, crearás una lista de enteros y luego aplicarás diferentes transformaciones utilizando **Streams**, como filtrado, mapeo y reducción. Posteriormente, implementarás **expresiones lambda** para simplificar la implementación de las operaciones. Este ejercicio te ayudará a comprender cómo aplicar la programación funcional en Java y aprovechar sus beneficios en términos de concisión y claridad del código.
Instrucciones:
- Crea una lista de enteros utilizando
ArrayList
.
- Usa un **Stream** para filtrar los elementos de la lista que sean mayores que un valor determinado.
- Aplica una operación de mapeo a los elementos de la lista, convirtiéndolos en su valor al cuadrado.
- Usa una **expresión lambda** para implementar un método que calcule la suma de todos los elementos de la lista.
- Demuestra cómo estas operaciones se combinan para realizar un procesamiento funcional en una colección.
Este ejercicio te ayudará a entender cómo la programación funcional en Java permite escribir código más conciso, claro y eficiente, aprovechando el poder de las **expresiones lambda** y los **Streams** para realizar operaciones complejas de manera más simple.
Ver código de ejemplo
// Importar las clases necesarias
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
// Crear una lista de enteros
List<Integer> numeros = new ArrayList<>();
numeros.add(5);
numeros.add(10);
numeros.add(15);
numeros.add(20);
numeros.add(25);
// Filtrar los números mayores que 10
List<Integer> mayoresQueDiez = numeros.stream()
.filter(n -> n > 10)
.collect(Collectors.toList());
// Mapear los números para obtener su cuadrado
List<Integer> cuadrados = numeros.stream()
.map(n -> n * n)
.collect(Collectors.toList());
// Sumar los números utilizando expresiones lambda
int suma = numeros.stream()
.reduce(0, (a, b) -> a + b);
// Imprimir resultados
System.out.println("Números mayores que 10: " + mayoresQueDiez);
System.out.println("Cuadrados de los números: " + cuadrados);
System.out.println("Suma de los números: " + suma);
}
}
Salida:
Números mayores que 10: [15, 20, 25]
Cuadrados de los números: [25, 100, 225, 400, 625]
Suma de los números: 75
Este programa demuestra cómo utilizar la **programación funcional** en Java para trabajar con colecciones. Se utiliza un **Stream** para filtrar los números mayores que 10, se mapean los números para obtener sus cuadrados y se utiliza una **expresión lambda** para calcular la suma total de los números en la lista. Al ejecutar el programa, podrás ver cómo se procesan las colecciones de manera eficiente y concisa.