Streams Zaawansowany

Używaj gathererów do niestandardowych pośrednich operacji na strumieniach.

✕ 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();
Widzisz problem z tym kodem? Daj nam znać.
🧩

Kompozycyjny

Gatherery komponują się z innymi operacjami strumieni.

📦

Wbudowane operacje

windowFixed, windowSliding, fold, scan dostępne od razu.

🔧

Rozszerzalny

Pisz niestandardowe gatherery do dowolnej pośredniej transformacji.

Stare podejście
Niestandardowy Collector
Nowoczesne podejście
gather()
Od JDK
24
Poziom trudności
Zaawansowany
Gatherery strumieni
Dostępne

Sfinalizowane w JDK 24 (JEP 485, marzec 2025)

Gatherery to nowa pośrednia operacja strumienia, która może wyrażać złożone transformacje jak okna przesuwne, grupy o stałym rozmiarze i operacje skanowania, które były niemożliwe ze standardowymi operacjami strumieni.