2013-10-24 11 views
6

Was ist der kürzeste Weg, um "neue Liste B von Liste A wo Bedingung" über ein Java 8 Lambda zu bekommen?Java-Lambda-Unterliste

Sagen, ich habe List<Integer> a = Arrays.asList(1, 2, 3, 4, 5) und ich möchte eine neue Liste, B, wo der Wert> 3.

Ich habe die neuen Kollektionen Streams API durchgelesen, aber ich bin nicht überzeugt, dass ich die beste gefunden haben Möglichkeit, dies zu tun, und möchte nicht die Frage mit, was wahrscheinlich meine weniger als perfekte Lösung ist.

+2

http://www.javacodegeeks.com/2013/06/java-8-lambda-walkthrough.html#highlighter_349693 – alfasin

Antwort

14
a.stream().filter(x -> x > 3).collect(Collectors.toList()); 
+4

Ich liebe SO - eine Antwort; und direkt von einem der Guava Jungs! Wird es besser? – Kong