Streams Avanzato

Usa i gatherer per operazioni stream intermedie personalizzate.

✕ 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.
🧩

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
Stream gatherer
Disponibile

Finalizzato nel JDK 24 (JEP 485, marzo 2025).

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.

Condividi 𝕏 🦋 in