我有一个地图,其中“值”是项目列表:
Map<User, List<Project>> projectsMap = ...
我想从地图中提取项目,但只有 1 个项目列表:
我已经看到了答案,但它们不适用于我的情况。
我不想要这样的结果:
List<List<Project>> theValueOfTheMap;
我想要的结果是:
List<Project> projects = ... // All the project in the value's map
如何使用 JAVA 8 Streams 实现此目的?
谢谢。
莱昂纳多.
感谢@Holger 的回答。
List<Project> projects = projectsMap.values().stream().flatMap(List::stream)
.collect(Collectors.toList());
在值映射中的 Collection 为 Null 的情况下避免 NullPointerException 的代码:
projectsMap.values().stream().filter(Objects::nonNull)
.flatMap(List::stream).collect(Collectors.toList());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)