Saltar al contenido principal

Pipelines

Un pipeline de streams en Java es una cadena de operaciones que se aplican a un Stream<T> para procesar sus elementos de forma declarativa y eficiente.

Está formado por tres etapas principales:

  1. Fuente de datos → De dónde provienen los elementos.
  2. Operaciones intermedias → Transforman o filtran los datos (map(), filter(), sorted(), etc.) mediante métodos intermedios.
  3. Operaciones terminales → Obtienen el resultado (collect(), forEach(), count(), etc.) mediante métodos terminales.

Ejemplo:

import java.util.List;
import java.util.stream.Collectors;

public class PipelineBasico {
public static void main(String[] args) {
List<String> nombres = List.of("Ana", "Bruno", "Carlos", "Diana", "Elena");

List<String> resultado = nombres.stream() // Fuente de datos
.filter(nombre -> nombre.startsWith("C")) // Operación intermedia:
.map(nombre -> nombre.toUpperCase()) // Operación intermedia: Pasamos todos los String a mayúscula
.collect(Collectors.toList()); // Operación terminal: Devolvemos una lista con todos los elementos

for(String s: resultado) System.out.println(resultado);
//Imprimirá solo Carlos
}
}