【发布时间】:2018-08-19 18:32:28
【问题描述】:
我有一个Map<String, List<String>> 映射,我想从中提取一个List<String>,其中包含映射中所有字符串列表的字符串。我想使用 java8 流语法。
在旧的 java 中我会这样做:
List<String> all = new LinkedList<String>();
for (String key: map.keySet()) {
all.addAll(map.get(key));
}
return all;
如何使用流来做到这一点?
【问题讨论】:
-
map.values().stream().flatMap(List::stream).collect(Collectors.toList()) -
其实,在 java 8 之前你宁愿做
for (List<String> value : map.values()) {all.addAll(value);}
标签: java java-8 java-stream