小编Luc*_*cie的帖子

Java 8 分组函数返回 Map<String, Integer> 而不是 Map<String,Long>

我正在使用下面提到的代码来查找每个单词出现在字符串中的次数。

Map<String, Long> map = Arrays.asList(text.split("\\s+")).stream().collect(Collectors.groupingBy(Function.identity(),LinkedHashMap::new,Collectors.counting()))
Run Code Online (Sandbox Code Playgroud)

此代码返回Map<String, Long>我想将此代码转换为 return Map<String, Integer>。我尝试使用下面的代码来做到这一点,

但它抛出 ClassCastException java.lang.Integer cannot be cast to java.lang.Long

Map<String, Integer> map1 = 
 map.entrySet().parallelStream().collect(Collectors.toMap(entry -> entry.getKey(), entry -> Integer.valueOf(entry.getValue())));
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题,我需要它来返回地图

java-8 java-stream

3
推荐指数
1
解决办法
652
查看次数

标签 统计

java-8 ×1

java-stream ×1