Java 8仅映射到值类型集合

Java 8仅映射到值类型集合,java,lambda,java-8,collectors,Java,Lambda,Java 8,Collectors,我想将我的地图仅转换为集合。我在任何地方都找不到任何示例,包括Oracle的文档: 我所能做的就是: myMap.entrySet().parallelStream(). filter((entry) -> entry.getKey().startsWith("a")) .collect(Collectors.toSet()); 这将返回一组Map.Entry。在本例中,它是Map,因此我只希望它返回值位(字符串),我尝试了

我想将我的
地图
仅转换为
集合
。我在任何地方都找不到任何示例,包括Oracle的文档: 我所能做的就是:

myMap.entrySet().parallelStream().
                filter((entry) -> entry.getKey().startsWith("a"))
                .collect(Collectors.toSet());

这将返回一组
Map.Entry
。在本例中,它是
Map
,因此我只希望它返回值位(字符串),我尝试了
.collect(Collectors.toSet(HashMap::getValue))
,但没有成功。那么我在这里遗漏了什么呢?

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

myMap.entrySet().parallelStream()
            .filter(entry -> entry.getKey().startsWith("a"))
            .map(entry -> entry.getValue())
            .collect(Collectors.toSet());

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

myMap.entrySet().parallelStream()
            .filter(entry -> entry.getKey().startsWith("a"))
            .map(entry -> entry.getValue())
            .collect(Collectors.toSet());

@SotiriosDelimanolis
values()
返回
Collections
我还需要将其转换为一个集合,我觉得它有点难看。@SotiriosDelimanolis
values()
返回
Collections
我还需要将其转换为一个集合,我觉得有点难看。你可以使用方法引用你可以使用方法引用