
مع الإصدار 8 من جافا, دخلت طريقة جديدة, المتوفرة لأنواع جمع. هذا الأسلوب ريموفيف(), التي تقبل بوصفها المعلمة أ المسند (المسند) أن يعرف الشرط التي يجب أن تكون إزالة على عناصر جمع.
وكنتيجة لذلك, العودة قيمة منطقية تقوم بإرجاع صحيح حيث يتم إزالة العنصر, o كاذبة وفي حالة مخالفة.
لنفترض أن لدينا مجموعة من نوع مكدس الذاكرة المؤقتة (مكدس الذاكرة المؤقتة) من سلاسل (السلسلة) وإننا نريد أن حذف تلك سلاسل أن يجتمع شرط معين:
1 2 3 4 5 6 7 8 | Collection<String> misPalabras = new Stack<>(); misPalabras.add( "Prueba" ); misPalabras.add( "de" ); misPalabras.add( "uso" ); misPalabras.add( "nuevo" ); misPalabras.add( "metodo" ); misPalabras.removeIf ( s -> s.contains("ue") ); |
سيتم إنشاء التعليمات البرمجية هذا جمع نوع المكدس سلاسل و حذف تلك العناصر التي سلاسل تحتوي على السلسلة الفرعية ‘الاتحاد الأوروبي‘. وفي هذه الحالة, سيتم إزالة هذه العناصر ‘اختبار‘ و ‘الجديد‘.
هو هام التأكيد على أن ليست كل المجموعات دعم حذف العنصر. إذا كنت لا تعتمد عليه, أنها سوف تسفر عن الاستثناء نوع أونسوبورتيدوبيراتيونيكسسيبشن في محاولة لحذف البند قيد النظر. من هذه المجموعات هو, على سبيل المثال, ArrayList:
1 2 | Collection<String> misPalabras = Arrays.asList( "Prueba", "de", "uso", "nuevo", "metodo" ); misPalabras.removeIf( s -> s.contains("ue") ); |
في هذه المناسبة, سيتم إطلاق الاستثناء ومنذ الأسلوب Arrays.asList() تقوم بإرجاع ArrayList نوع java.utils.Arrays.ArrayList, وهو من القراءة فقط و حجم ثابت, بخلاف ذلك عادة ما تستخدم نوع java.util.ArrayList, وهو قابل للتعديل.
