lambda Java 8仅映射到值类型集合
我想把我的Map <K,V>
转换成一个Set <V>
。我在任何地方都找不到任何例子,包括Oracle的文档:
https://docs.oracle.com/javase/tutorial/collections/streams/reduction.html
我所能做的就是:
myMap.entrySet().parallelStream().
filter((entry) -> entry.getKey().startsWith("a"))
.collect(Collectors.toSet());
这将返回一组Map.Entry
。在这个例子中,它是Map<String, String>
,所以我只希望它返回值位(字符串),我尝试过.collect(Collectors.toSet(HashMap::getValue))
,但没有成功。那我还缺什么
# 1 楼答案
您必须再添加一个步骤来映射到值: