toMap(二)
一切的美德都包含在自我信赖里。——爱默森
今天继续聊聊Stream中Jdk8已经为我们封装好的这个Collectors.toMap
前两天写的List to Map工具类是为了解决key重复问题
实际上我们可以用Collectors.toMap的重载直接解决,例如
| List<User> userList = new ArrayList<>(10); | 
我们在toMap的第三个参数给定,这里我们直接返回user2,意思是如果遇到重复的key[例如这里的userId重复],我们使用第二个user,也就是后者去覆盖前者
除了这点,我们还可以看到一个包含四个参数的重载

这里第四个参数是用于返回指定的map使用的
例如我们需要返回一个LinkedHashMap
就可以这样写
| userMap = userList.stream().collect(Collectors.toMap(User::getId, Function.identity(), (user1, user2) -> user2, LinkedHashMap::new)); | 
第四个参数接收的是一个Supplier,lambda写法就是()->这样啦!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 蒋立坤的博客!
 评论
Va









