Stream gatherers
Usa gatherers para operaciones intermedias personalizadas en streams.
Comparación de Código
✕ 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.
Por qué gana la forma moderna
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
Soporte JDK
Stream gatherers
Disponible
Finalizado en JDK 24 (JEP 485, marzo 2025).
Cómo funciona
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.
Documentación Relacionada