Stream gatherer
Usa i gatherer per operazioni stream intermedie personalizzate.
Confronto Codice
✕ 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();
Vedi un problema con questo codice? Faccelo sapere.
Perché vince l'approccio moderno
Componibile
I gatherer si compongono con altre operazioni stream.
Operazioni integrate
windowFixed, windowSliding, fold, scan pronti all'uso.
Estensibile
Scrivi gatherer personalizzati per qualsiasi trasformazione intermedia.
Approccio Vecchio
Collector personalizzato
Approccio Moderno
gather()
Dal JDK
24
Difficoltà
Avanzato
Supporto JDK
Stream gatherer
Disponibile
Finalizzato nel JDK 24 (JEP 485, marzo 2025).
Come funziona
I gatherer sono una nuova operazione stream intermedia che può esprimere trasformazioni complesse come finestre scorrevoli, gruppi di dimensioni fisse e operazioni di scansione che erano impossibili con le operazioni stream standard.
Documentazione Correlata