Jac*_*dor 3 java java-8 java-stream
我正在尝试获取属于给定项目列表的组件列表.
由于我开始使用流,我无法弄清楚如何做到这一点.
projects.stream()
.map(p -> p.getComponents())
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
由于Project.getComponents()返回Collection<ProjectComponent>前一个代码将返回一个List<Collection<ProjectComponent>>然而我想返回一个List<ProjectComponent>我该怎么办呢?
亲切的问候.
使用 flatMap
projects.stream()
.flatMap(p -> p.getComponents().stream())
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
flatMap将基本上展平嵌套流,即从中Stream<Stream<R>>到Stream<R>,然后你将流元素收集到一个List<ProjectComponent>.
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |