ypr*_*rol -3 java java-8 java-stream
我想将地图转换为:
Map<String, List<String>>
Run Code Online (Sandbox Code Playgroud)
至
List<String>
Run Code Online (Sandbox Code Playgroud)
结果列表是所有列表值的合并。
你可以有
List<String> result = map.values().stream().flatMap(List::stream).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
这将检索映射的值,values()然后将每个列表平面映射到由其元素形成的Stream中,并将结果收集到列表中。
另一种选择是,不对每个列表进行平面映射,因此可能会提高性能,而是通过调用每个累加的结果直接收集Stream<List<String>>(由返回values().stream())addAll。
List<String> result = map.values().stream().collect(ArrayList::new, List::addAll, List::addAll);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1778 次 |
| 最近记录: |