Java8 中 List 转 Map(Collectors.toMap) 使用技巧

使用toMap()函数之后,返回的就是一个Map了,自然会需要key和value。
toMap()的第一个参数就是用来生成key值的,第二个参数就是用来生成value值的。
第三个参数用在key值冲突的情况下:如果新元素产生的key在Map中已经出现过了,第三个参数就会定义解决的办法。

在你的例子中
 .collect(Collectors.toMap(UserBo::getUserId, x -> x, (x, y) -> x));
第一个参数UserBo::getUserId 表示选择UserBo的getUserId作为map的key值;
第二个参数x -> x表示选择将原来的对象作为map的value值;
第三个参数(x, y) -> x中,如果x与y的key值相同,选择x作为那个key所对应的value值

 

https://zhangzw.com/posts/20191205.html

posted @ 2020-12-22 10:49  [浪子回头]  阅读(7004)  评论(0编辑  收藏  举报