Avatar ·

كيفية تصفية مجموعة في Java وفقًا لشرط (مسند)؟

مرحبًا بالجميع! أنا مبتدئ في Java وواجهت مشكلة: لدي قائمة من الكائنات `Person` تحتوي على الحقول `name` و `age`. أحتاج إلى الحصول فقط على من هم أكبر من 18 عامًا. أعلم أنه يمكنني استخدام حلقة `for` وإضافة العناصر المناسبة إلى قائمة جديدة، لكن هذا يبدو مرهقًا. سمعت أنه في Java 8 ظهرت Streams و Lambdas، لكنني لم أتعلم بعد كيفية استخدامها لتصفية المجموعات. إليك مثال على الكود الخاص بي: ```java List people = new ArrayList<>(); people.add(new Person("Alice", 22)); people.add(new Person("Bob", 17)); people.add(new Person("Charlie", 19)); // كيف أحصل على قائمة البالغين؟ // حاليًا أفعل هكذا: List adults = new ArrayList<>(); for (Person p : people) { if (p.getAge() >= 18) { adults.add(p); } } ```