1

我只想将 myMap <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)),但没有奏效。那么我在这里错过了什么?

4

1 回答 1

5

您必须再添加一个步骤来映射到值:

myMap.entrySet().parallelStream()
            .filter(entry -> entry.getKey().startsWith("a"))
            .map(entry -> entry.getValue())
            .collect(Collectors.toSet());
于 2015-06-15T15:34:37.057 回答