2016-04-01 18 views
-2

私はオブジェクトのリストを持っており、リスト内のすべてのオブジェクトのプロパティを簡単に取得します。 私はそのシンプルを知っているが、acutally私はそれを行うことができますどのように見つけやりなさい:Java-8ストリームget all

List<MyObject> myObjects = ... 

MyOblect myObject = new ... 
myObject.myProperty = ... 

私のアプローチ:

myObjects.stream().findAll(s -> s.getMyProperty())... 
+0

「すべてのオブジェクトのプロパティを取得する」とはどういう意味ですか?リストに* n *個のオブジェクトがある場合、そのプロパティの値は* n *です。それに加えて、あなたの問題は、あなたの言葉 "find"の伸びから生じるかもしれません。たぶんあなたは*値を収集したいと思うかもしれません... – Holger

+5

myObjects.stream()。map(s - > s.getMyProperty())。collect(Collectors.toList()) - すべてのオブジェクトのmyPropertyのリストを取得します – Rustam

+0

それはそうです、ありがとう! – quma

答えて

3

おそらくmapcollect方法を探している:

List<T> list = myObjects.stream().map(s -> s.getMyProperty()).collect(Collectors.toList()); 
+0

リストを返す場合は、コードをコンパイルする –

+1

また、次のように「簡略化」することもできます。 myObjects.stream()。map(MyObject :: getMyProperty).collect(Collectors.toList()); –