JDK8: java.lang.IllegalStateException: Duplicate key 1

今天遇到一个问题,是关于Map的转化错误

Map<String, Integer> map = majorList.stream().collect(Collectors.toMap(Major::getName, Major::getId));

之前是使用这种方式进行List转换为Mapper的,然后今天忽然报错

发现是因为相同key的时候,Map新建key-Value会失败

就改为

Map<String, Integer> map = majorList.stream().collect( Collectors.toMap(Major::getName, Major::getId, (s, a) -> s + a));
map.entrySet().stream().forEach(e -> System.out.println(e.getKey() + " = " + e.getValue()));

出现相同的key的时候,value会自动增加

猜你喜欢

转载自blog.csdn.net/weixin_37645838/article/details/83269633
今日推荐