List转换Map的三种方式
2024-10-15 22:02:19
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));
最新文章
- @Html.Raw()
- WinForm------给GridControl添加搜索功能
- Android编译环境搭建(0818-0819)
- DiskGenius无损调整分区大小
- 转:LESS CSS 框架简介
- c语言内存模型
- oracle 11g 64位安装32位客户端和PL/SQL
- 又见拦截导弹(LIS)
- Python MySQLdb Mac安装遇到的问题
- Copy xml 文件
- face ++ 人脸识别技术初步
- ExecutorService实际上是一个线程池的管理工具
- 基于Android的高校饮水宝app
- Mybatis配置信息浅析 MyBatis简介(二)
- Spring核心之IOC
- DOCKER学习 docker
- 腾讯开源的Paxos库PhxPaxos代码解读---Prepare阶段(一)
- IDEA 启动项目前的配置--或过程遇到的问题
- vue阿里上传图片报400错误
- Python基础入门教程(3)
热门文章
- 《转》谈谈基于Kerberos的Windows Network Authentication
- 成本计划的输出(Project)
- CF721B Passwords 题解
- windows 2008 server 服务器远程桌面连接会话自动注销,在服务器上开掉的软件全部自动关闭的解决办法
- Tomcat配置使用域名访问项目
- 【LeetCode】1060. Missing Element in Sorted Array 解题报告 (C++)
- 【九度OJ】题目1056:最大公约数 解题报告
- C. Success Rate
- codeforces626D . Jerry&#39;s Protest
- 【LeetCode】712. Minimum ASCII Delete Sum for Two Strings 解题报告(Python & C++)