Gatherery strumieni
Używaj gathererów do niestandardowych pośrednich operacji na strumieniach.
Porównanie kodu
✕ 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ć.
Dlaczego nowoczesne podejście wygrywa
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
Wsparcie JDK
Gatherery strumieni
Dostępne
Sfinalizowane w JDK 24 (JEP 485, marzec 2025)
Jak to działa
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.
Powiązana dokumentacja
Dowód