从 map 获取包含所有 map 值的新列表的最佳方法是什么?
这是正确的吗?
List<Value> listValues = new ArrayList<>();
for(TypeKey keys : map.keySet()){
for(TypeValue values : map.get(keys)){
listValues.add(values);
}
}
最佳答案
如果您有 Map<Key, Value>
,Map#values()
方法会给你一个Collection<Value>
.
对于Map<Key, List<Value>>
,values()
显然,方法会给你一个 Collection<List<Value>>
可以展平:
List<Value> values = map.values().stream()
.flatMap(List::stream)
.collect(Collectors.toList());
关于java - 如何从 Map<Key,List<Value>> 获取 List<Value>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44342942/