Collections مبتدئ

عمليات المجموعات المجمّعة بدلاً من حلقات التعديل

استخدم removeIf() و replaceAll() و List.sort() لإجراء تحويلات مباشرة على المجموعات.

✕ Iterator mutation loop
for (Iterator<Order> it = orders.iterator(); it.hasNext();) {
    if (it.next().cancelled()) {
        it.remove();
    }
}
✓ Java 8+
orders.removeIf(Order::cancelled);
هل ترى مشكلة في هذا الكود؟ أخبرنا.
👁

قصد واضح

تصف العملية ما يتغيّر، لا كيفية التكرار.

🐛

تعديل أكثر أماناً

يتجنب قواعد الإزالة اليدوية عبر المكرّر.

شيفرة أقل

تصبح التحويلات الشائعة تعبيراً واحداً.

الأسلوب القديم
إزالة يدوية عبر المكرّر
الأسلوب الحديث
Collection.removeIf()
منذ JDK
8
الصعوبة
مبتدئ
عمليات المجموعات المجمّعة بدلاً من حلقات التعديل
متاح

متاح منذ JDK 8 (مارس 2014)

توفّر واجهات المجموعات الحديثة عمليات التعديل الشائعة مباشرةً. تستبدل دوال مثل removeIf() و replaceAll() و List.sort() الحلقات المثقلة بمنطق تدفق التحكم بعمليات توضّح التحويل المقصود.