Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java8流如何将Map转换为Map?_Java_Lambda_Java 8_Java Stream - Fatal编程技术网

使用Java8流如何将Map转换为Map?

使用Java8流如何将Map转换为Map?,java,lambda,java-8,java-stream,Java,Lambda,Java 8,Java Stream,所以,我想用旧地图做一张新地图。在新映射中,字符串键表示与第一个映射中相同的键,整数值表示相应列表的大小。我想使用Java8流进行转换。我尝试了类似的方法,但它给了我错误 Map<String, List<Something>> map1=..... Map<String, Integer> map2; map2=map1.entrySet().stream().collect(Collectors.toMap(p-> p.getKey(), p->

所以,我想用旧地图做一张新地图。在新映射中,字符串键表示与第一个映射中相同的键,整数值表示相应列表的大小。我想使用Java8流进行转换。我尝试了类似的方法,但它给了我错误

Map<String, List<Something>> map1=.....
Map<String, Integer> map2;
map2=map1.entrySet().stream().collect(Collectors.toMap(p-> p.getKey(), p->getValue().size()));
它在getValue之前缺少p

它在getValue之前缺少p

这应该行得通

Map<String,Long> map2 = map1.entrySet().stream()
                           .collect(Collectors.groupingBy(p->p.getKey(),
                                      Collectors.counting()));
如果你不介意用地图代替地图。

这应该行

Map<String,Long> map2 = map1.entrySet().stream()
                           .collect(Collectors.groupingBy(p->p.getKey(),
                                      Collectors.counting()));

如果您不介意用Map代替Map。

p->getValue.size不编译。我猜您希望看到p->p.getValue.sizeeyes,很抱歉输入错误。更正。现在它工作了。我并没有在代码中看到这个错误:现在你们的问题包含了有效的代码,这可能会使发布的答案无效。不要从问题中删除所描述的问题。相反,请提供您获得的错误消息。考虑删除问题,因为它不提供其他堆栈溢出用户的任何值。P> > GETValueStand不编译。我猜您希望看到p->p.getValue.sizeeyes,很抱歉输入错误。更正。现在它工作了。我并没有在代码中看到这个错误:现在你们的问题包含了有效的代码,这可能会使发布的答案无效。不要从问题中删除所描述的问题。取而代之的是提供你得到的错误信息。考虑删除问题,因为它对其他堆栈溢出用户没有任何价值。是的,这是错误:我没有看到。我会在5分钟内批准你的答案……是的,这是个错误:我没有看到它。我会在5分钟内批准你的回答。。。。