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
我还需要将其转换为一个集合,我觉得它有点难看。@SotiriosDelimanolisvalues()
返回Collections
我还需要将其转换为一个集合,我觉得有点难看。你可以使用方法引用你可以使用方法引用