使用Java 8流如何转换Map <string,list <something =“”>&gt;映射<string,integer =“”>?

时间:2018-05-12 09:07:48

标签: java lambda java-8 java-stream

所以,我想从旧地图制作一张新地图。在新let userEmail = query { for user in dbContext.Public.Users do where (user.Id = 42) select (Ok user.Email) headOrDefault // should result in Error // when no user with Id=42 exists } 中,String键表示与第一个映射中相同的键,Integer值表示相应type Result<'a> = | Ok of 'a | Failure of string // Expected, e. g. trying to log in with a wrong password | Error // Unexpected 的大小。我想使用Java 8流进行转换。我尝试了类似的东西,但它给了我错误。

Map<String, Integer>

1 个答案:

答案 0 :(得分:2)

这应该有效

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

如果您不介意Map<String,Long>而不是Map<String,Integer>