Streams Początkujący

Pobieraj lub pomijaj elementy strumienia na podstawie predykatu.

✕ Java 8
List<Integer> result = new ArrayList<>();
for (int n : sorted) {
    if (n >= 100) break;
    result.add(n);
}
// no stream equivalent in Java 8
✓ Java 9+
var result = sorted.stream()
    .takeWhile(n -> n < 100)
    .toList();
// or: .dropWhile(n -> n < 10)
Widzisz problem z tym kodem? Daj nam znać.
🎯

Wczesne przerwanie

Przestaje przetwarzać gdy predykat nie jest spełniony.

🔗

Przyjazny dla potoku

Łączy się z innymi operacjami strumieni naturalnie.

📖

Deklaratywny

takeWhile czyta się naturalnie — 'pobieraj dopóki mniej niż 100'.

Stare podejście
Ręczna pętla
Nowoczesne podejście
takeWhile/dropWhile
Od JDK
9
Poziom trudności
Początkujący
takeWhile / dropWhile na strumieniu
Dostępne

Szeroko dostępne od JDK 9 (wrzesień 2017)

takeWhile() zwraca elementy dopóki predykat jest prawdziwy i zatrzymuje się przy pierwszym fałszu. dropWhile() pomija elementy dopóki prawda i zwraca resztę. Oba działają najlepiej na uporządkowanych strumieniach.