Avatar ·

Wie filtere ich eine Collection in Java nach einer Bedingung (Prädikat)?

Hallo zusammen! Ich bin neu in Java und habe folgendes Problem: Ich habe eine Liste von `Person`-Objekten mit den Feldern `name` und `age`. Ich muss nur diejenigen erhalten, die älter als 18 Jahre sind. Ich weiß, dass ich mit einer `for`-Schleife durchgehen und passende Elemente in eine neue Liste einfügen kann, aber das sieht umständlich aus. Ich habe gehört, dass es in Java 8 Streams und Lambdas gibt, aber ich habe noch nicht verstanden, wie man sie zum Filtern von Collections verwendet. Hier ist ein Beispiel meines Codes: ```java List people = new ArrayList<>(); people.add(new Person("Alice", 22)); people.add(new Person("Bob", 17)); people.add(new Person("Charlie", 19)); // Wie bekomme ich eine Liste der Volljährigen? // Bisher mache ich es so: List adults = new ArrayList<>(); for (Person p : people) { if (p.getAge() >= 18) { adults.add(p); } } ```