Streams y Operaciones Funcionales

En este ejercicio, aprenderás a trabajar con **Streams** y **operaciones funcionales** en Java. Utilizando el API de Streams, realizarás operaciones como filtrado, mapeo, y reducción de datos, lo que permite escribir código más limpio, eficiente y expresivo. Este ejercicio te ayudará a comprender cómo aprovechar las funcionalidades avanzadas de Java para manejar colecciones de manera más efectiva y eficiente.

Tema

Programación Funcional y Expresiones Lambda

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:

  1. Crea una lista de números enteros o cadenas de texto.
  2. Convierte la lista en un **Stream** utilizando el método stream().
  3. Aplica al Stream operaciones funcionales como filter(), map(), y reduce().
  4. Imprime los resultados después de cada operación para observar cómo los datos son transformados.
  5. 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.


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.


 Comparte este ejercicio JAVA