今天遇到一个问题,是关于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会自动增加