Streams مبتدئ

خذ أو أسقط عناصر من Stream بناءً على Predicate.

✕ 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)
هل ترى مشكلة في هذا الكود؟ أخبرنا.
🎯

دارة قصيرة

تتوقف المعالجة فور فشل Predicate.

🔗

مناسب لخطوط الأنابيب

يتسلسل مع عمليات Stream الأخرى بشكل طبيعي.

📖

تصريحي

takeWhile يُقرأ كاللغة الطبيعية: 'خذ طالما أقل من 100'.

الأسلوب القديم
حلقة يدوية
الأسلوب الحديث
takeWhile/dropWhile
منذ JDK
9
الصعوبة
مبتدئ
Stream takeWhile / dropWhile
متاح

متاح على نطاق واسع منذ JDK 9 (سبتمبر 2017)

تُرجع takeWhile() العناصر طالما Predicate صحيح وتتوقف عند أول خطأ. تتخطّى dropWhile() العناصر طالما صحيح وتُرجع البقية. كلتاهما تعملان بشكل أفضل على Streams المرتّبة.

مشاركة 𝕏 🦋 in