عمليات المجموعات المجمّعة بدلاً من حلقات التعديل
استخدم 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
عمليات المجموعات المجمّعة بدلاً من حلقات التعديل
متاح
متاح منذ JDK 8 (مارس 2014)
كيف يعمل
توفّر واجهات المجموعات الحديثة عمليات التعديل الشائعة مباشرةً. تستبدل دوال مثل removeIf() و replaceAll() و List.sort() الحلقات المثقلة بمنطق تدفق التحكم بعمليات توضّح التحويل المقصود.
توثيق ذو صلة
إثبات