Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Java Streams

Java Streams es una poderosa característica de Java que permite realizar operaciones de procesamiento de datos de manera eficiente y en paralelo. A continuación, exploramos algunos conceptos avanzados que pueden mejorar la calidad y eficiencia de tu código.

Comparto algunos ejemplos vistos:

package com.diego.ejemplos.principal;

import java.util.Collection;
import java.util.List;
import java.util.Optional;
import java.util.stream.Stream;

public class Eje_4_Streams {
    public static void main(String[] args) {
        Stream.iterate(0, n -> n + 1)
                .limit(10)
                .forEach(System.out::println);

        List<List<String>> lista = List.of(
                List.of("a", "b"),
                List.of("c", "d")
        );

        Stream<String> stream = lista.stream()
                .flatMap(Collection::stream);

        stream.forEach(System.out::println);


        List<Integer> numeros = List.of(1, 2, 3, 4, 5);
        Optional<Integer> resultado = numeros.stream().reduce(Integer::sum);
        resultado.ifPresent(System.out::println); // imprime 15
    }
}
1 respuesta

¡Hola Diego, espero que estés bien!

Gracias por compartir tu código y tus ejemplos. Parece que estás explorando conceptos avanzados de Java Streams, lo cual es fantástico para mejorar la eficiencia y claridad de tu código.

Vamos a repasar brevemente los ejemplos que has compartido:

  1. Streams Infinitos: Has utilizado Stream.iterate() para crear un Stream infinito que comienza en 0 y se incrementa en 1. Luego, usaste limit(10) para restringir el Stream a 10 elementos. Esto es útil cuando deseas generar una secuencia controlada de elementos a partir de un flujo potencialmente infinito.

  2. FlatMap: Este método es excelente para aplanar estructuras de datos complejas. En tu ejemplo, transformaste una lista de listas en un Stream plano de Strings. Esto es muy útil cuando trabajas con colecciones anidadas y necesitas procesar todos los elementos de manera uniforme.

  3. Reducción de Streams: Utilizaste reduce() para sumar todos los elementos de una lista de enteros. Esta operación terminal es poderosa para combinar todos los elementos de un Stream en un solo resultado, como una suma, producto o concatenación.

Estos ejemplos muestran cómo los Streams pueden simplificar el procesamiento de datos y hacer que tu código sea más conciso y expresivo. Continúa explorando y experimentando con diferentes operaciones de Streams para descubrir más maneras de optimizar tus proyectos en Java.

Espero haber ayudado y ¡buenos estudios!