Ejercicio Java
En este ejercicio, crearás un programa en Java que demuestre el uso de **Streams** y **operaciones funcionales**. Primero, crearás un Stream a partir de una colección de datos. Luego, aplicarás varias operaciones funcionales sobre ese Stream, como el filtrado, el mapeo y la reducción, para transformar y procesar la información de manera eficiente. Este ejercicio te permitirá explorar cómo Java facilita la manipulación de datos mediante su API de Streams.
Instrucciones:
- Crea una lista de números enteros o cadenas de texto.
- Convierte la lista en un **Stream** utilizando el método
stream()
.
- Aplica al Stream operaciones funcionales como
filter()
, map()
, y reduce()
.
- Imprime los resultados después de cada operación para observar cómo los datos son transformados.
- Demuestra cómo las operaciones de Streams permiten un manejo eficiente de colecciones y procesamiento de datos en paralelo, si es necesario.
Este ejercicio te ayudará a entender cómo las **operaciones funcionales** en Java permiten manejar colecciones de manera más eficiente, utilizando un estilo declarativo y expresivo, mejorando la claridad y rendimiento del código.
Ver código de ejemplo
import java.util.*;
import java.util.stream.*;
public class Main {
public static void main(String[] args) {
// Crear una lista de números
List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// Filtrar los números pares, multiplicarlos por 2 y calcular su suma
int resultado = numeros.stream()
.filter(n -> n % 2 == 0) // Filtrar números pares
.map(n -> n * 2) // Multiplicar cada número por 2
.reduce(0, Integer::sum); // Reducir la lista a la suma
// Mostrar el resultado
System.out.println("La suma de los números pares multiplicados por 2 es: " + resultado);
}
}
Salida:
La suma de los números pares multiplicados por 2 es: 60
Este programa utiliza **Streams** en Java para procesar una lista de números. En primer lugar, filtra los números pares, luego los multiplica por 2, y finalmente calcula la suma de estos valores utilizando la operación de reducción reduce()
. Al ejecutar el programa, se puede observar cómo los datos son transformados y procesados de manera eficiente mediante operaciones funcionales.