如何使用Java Stream获取属于List中元素的元素列表

时间:2017-11-18 11:20:14

标签: java java-8 java-stream

我试图获取属于给定项目列表的组件列表。

由于我开始使用流,我无法弄清楚如何做到这一点。

 projects.stream()
         .map(p -> p.getComponents())
         .collect(Collectors.toList());

由于Project.getComponents()返回Collection<ProjectComponent>,之前的代码会返回List<Collection<ProjectComponent>>,但我想返回List<ProjectComponent>我该怎么办?

亲切的问候。

1 个答案:

答案 0 :(得分:9)

使用flatMap

Stream<Stream<R>>

flatMap将基本上展平嵌套流,即从Stream<R>List<ProjectComponent>,然后您将流元素收集到mta<-c("ldall","nold","ldall","nold","ldall","nold","ldall","nold") mtb<-c(491, 28581,241,5882,365,7398,512,10887) df1<-data.frame(mta,mtb)