使用Java8流如何将Map转换为Map?
所以,我想用旧地图做一张新地图。在新映射中,字符串键表示与第一个映射中相同的键,整数值表示相应列表的大小。我想使用Java8流进行转换。我尝试了类似的方法,但它给了我错误使用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->
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分钟内批准你的回答。。。。