Streams Avanzado

Usa gatherers para operaciones intermedias personalizadas en streams.

✕ Java 8
// Sliding window: manual implementation
List<List<T>> windows = new ArrayList<>();
for (int i = 0; i <= list.size()-3; i++) {
    windows.add(
        list.subList(i, i + 3));
}
✓ Java 24+
var windows = stream
    .gather(
        Gatherers.windowSliding(3)
    )
    .toList();
¿Ves un problema con este código? Cuéntanos.
🧩

Componible

Los gatherers se componen con otras operaciones de stream.

📦

Operaciones integradas

windowFixed, windowSliding, fold, scan disponibles de forma nativa.

🔧

Extensible

Escribe gatherers personalizados para cualquier transformación intermedia.

Enfoque Antiguo
Collector personalizado
Enfoque Moderno
gather()
Desde JDK
24
Dificultad
Avanzado
Stream gatherers
Disponible

Finalizado en JDK 24 (JEP 485, marzo 2025).

Los gatherers son una nueva operación intermedia de stream que permite expresar transformaciones complejas como ventanas deslizantes, grupos de tamaño fijo y operaciones de escaneo que eran imposibles con las operaciones estándar de stream.

Compartir 𝕏 🦋 in