Collectors.toMap

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

 

然后list里面有id相同的对象,结果转map的时候居然直接抛异常

如果不想抛异常的话,自己传进去一个方法即可,上述代码可以改成:

Map<Integer, String> map = list.stream().collect(Collectors.toMap(Person::getId, Person::getName,(oldValue, newValue) -> newValue));

这样就做到了使用新的value替换原有value。
 

posted @ 2018-11-06 13:39  車輪の唄  阅读(19)  评论(0编辑  收藏  举报  来源