كيفية تصفية مجموعة في 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);
}
}
```