1、for循环

  。。。

2、使用guava

 Map<Long, User> maps = Maps.uniqueIndex(userList, new Function<User, Long>() {
@Override
public Long apply(User user) {
return user.getId();
}
});

3、使用JDK1.8

Map<Long, User> maps = userList.stream().collect(Collectors.toMap(User::getId,Function.identity()));

看来还是使用JDK 1.8方便一些。另外,转换成map的时候,可能出现key一样的情况,如果不指定一个覆盖规则,上面的代码是会报错的。转成map的时候,最好使用下面的方式:

Map<Long, User> maps = userList.stream().collect(Collectors.toMap(User::getId, Function.identity(), (key1, key2) -> key2));

有时候,希望得到的map的值不是对象,而是对象的某个属性,那么可以用下面的方式:

Map<Long, String> maps = userList.stream().collect(Collectors.toMap(User::getId, User::getAge, (key1, key2) -> key2));

最新文章

  1. @Html.Raw()
  2. WinForm------给GridControl添加搜索功能
  3. Android编译环境搭建(0818-0819)
  4. DiskGenius无损调整分区大小
  5. 转:LESS CSS 框架简介
  6. c语言内存模型
  7. oracle 11g 64位安装32位客户端和PL/SQL
  8. 又见拦截导弹(LIS)
  9. Python MySQLdb Mac安装遇到的问题
  10. Copy xml 文件
  11. face ++ 人脸识别技术初步
  12. ExecutorService实际上是一个线程池的管理工具
  13. 基于Android的高校饮水宝app
  14. Mybatis配置信息浅析 MyBatis简介(二)
  15. Spring核心之IOC
  16. DOCKER学习 docker
  17. 腾讯开源的Paxos库PhxPaxos代码解读---Prepare阶段(一)
  18. IDEA 启动项目前的配置--或过程遇到的问题
  19. vue阿里上传图片报400错误
  20. Python基础入门教程(3)

热门文章

  1. 《转》谈谈基于Kerberos的Windows Network Authentication
  2. 成本计划的输出(Project)
  3. CF721B Passwords 题解
  4. windows 2008 server 服务器远程桌面连接会话自动注销,在服务器上开掉的软件全部自动关闭的解决办法
  5. Tomcat配置使用域名访问项目
  6. 【LeetCode】1060. Missing Element in Sorted Array 解题报告 (C++)
  7. 【九度OJ】题目1056:最大公约数 解题报告
  8. C. Success Rate
  9. codeforces626D . Jerry&#39;s Protest
  10. 【LeetCode】712. Minimum ASCII Delete Sum for Two Strings 解题报告(Python & C++)