我有一个HashMap<String, List<User>>
我想返回一个 allList 合并形式 all List<User>
的 HashMap 。
并且只用一次触发语句Stream.concat(list1, Stream.concat(list2, Stream.concat(list3,Stream.concat(list4,...))))...
我的目标是更高的性能。
最佳答案
如果您想要所有List<User>
的所有元素的单个流s,你应该使用 flatMap
,不是Stream.concat
:
Stream<User> users = map.values().stream().flatMap(List::stream);
然后您可以对该Stream
进行任何您需要的处理。 。例如,创建 List
所有User
s:
List<User> userList = map.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
关于java - 迭代一个集合,然后仅执行一次流连接集合的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50251687/