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:
- Fuente de datos → De dónde provienen los elementos.
- Operaciones intermedias → Transforman o filtran los datos (
map(),filter(),sorted(), etc.) mediante métodos intermedios. - 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
}
}