java 集合对象转map的几种方式(stream流)
例如:
public class User {private Integer id;private String name;public User(Integer id, String name) {this.id = id;this.name = name;}
}
把User集合转成key ->id ,value->User对象的map
1.最原始方法
List<User> list = new ArrayList<>();list.add(new User(1,"a"));list.add(new User(2,"b"));HashMap<Integer, User> map = new HashMap<>();for (User u:list) {map.put(u.getId(),u);}
2.stream流式操作
HashMap<Integer, User> map1 = list.stream().collect(HashMap::new, (m, v) -> m.put(v.getId(), v), HashMap::putAll);
3.stream流简化操作(推荐)
Map<Integer, User> map2 = list.stream().
collect(Collectors.toMap(User::getId, Function.identity()));
4.hutool工具类(推荐)
Map<Integer, User> map3 = CollStreamUtil.toIdentityMap(list, User::getId);
输出结果
第一种:{1=User(id=1, name=a), 2=User(id=2, name=b)}
第二种:{1=User(id=1, name=a), 2=User(id=2, name=b)}
第三种:{1=User(id=1, name=a), 2=User(id=2, name=b)}
第四种:{1=User(id=1, name=a), 2=User(id=2, name=b)}
java 集合对象转map的几种方式(stream流)相关推荐
- Java中对象转换为字符串的几种方式
一.(String)强制类型转换 使用这种方法时,需要注意的是类型必须能转成String类型.因此最好用instanceof做个类型检查,以判断是否可以转换.否则容易抛出CalssCastExcept ...
- java集合(List,Set,Map)详细总结
一,集合的由来: 数组是长度是固定的,当添加的元素超过数组的长度时需要对数组重新定义,太麻烦了,java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而 ...
- java map 迭代遍历_java 遍历Map的四种方式
java 遍历Map的四种方式 CreationTime--2018年7月16日16点15分 Author:Marydon 一.迭代key&value 第一种方式:迭代entrySet 1.方 ...
- java集合课程,I学霸官方免费课程三十三:Java集合框架之Map集合
I学霸官方免费教程三十三:Java集合框架之Map集合 Map接口 Map集合采用键值对(key-value)的方式存储数据,其中键不可以重复.值可以重复. 常用类有HashMap.TreeMap和P ...
- java 集合之Interface Map<K,V> HashMap实现类
java 集合之Interface Map<K,V> 类型参数:K- 此映射所维护的键的类型:V- 映射值的类型 将键映射到值的对象. 一个映射不能包含重复的键: 每个键最多可以映射到一个 ...
- java 遍历map key_java 遍历Map的四种方式
java 遍历Map的四种方式 CreationTime--2018年7月16日16点15分 Author:Marydon 一.迭代key&value 第一种方式:迭代entrySet 1.方 ...
- java解析遍历List集合(其实现子类)的三种方式
java解析遍历List集合(其实现子类)的三种方式 1 使用迭代器对象 1.1 底层 1.1.1 List接口继承了Collection接口 1.1.2 而Collection接口又继承了Itera ...
- Java 遍历 Map 的几种方式
在 Java 中遍历 Map 有多种方法,既然 Java 中的所有 map 都实现了 Map 接口,以下方法适用于任何 map 实现(HashMap,TreeMap,LinkedHashMap,H ...
- Java遍历Map的五种方式
一.遍历Map的五种方式 java中遍历map一般有五种方法,从最早的Iterator,到java5支持的foreach,再到java8的Lambda表达式. 如果只是获取key,或者value,推荐 ...
- map容器对象插入数据的4种方式讲解
map容器对象插入数据的4种方式讲解 map容器对象插入数据的4种方式 #include <string> #include <iostream> #include < ...
最新文章
- 【董天一】IPFSFilecoin和复制证明
- 《为什么我们的决策总出错》摘录
- kettle安装部署及远程执行
- 多线程(十、AQS原理-ReentrantLock公平锁)
- Windows server 2003下Oracle10g安装图解
- mysql视频教程siki_siki老师MySQL数据库从零到精通,资源教程下载
- Windows Phone 7 开发 31 日谈——第22日:应用?还是 游戏?
- quartus管脚分配后需要保存吗_嵌入式必须会的一些硬件面试题,要试一试吗?你过来呀!...
- TensorFlow HOWTO 1.1 线性回归
- 5 questions
- IE6/7下不同的inline-block
- 【音乐拼接】WAV格式
- msfconsole理论
- ios免越狱自签工具
- three相机在模型上_threejs学习心得(场景的搭建+运动模型导入)
- 计算机专业硕士论文评语,硕士论文评审意见范文
- 2021-2027全球与中国物联网网关设备市场现状及未来发展趋势
- 基于FPGA的ASCII码日期转时间戳算法实现
- D-HARRY2020春夏新品
- MQ(二)RabbitMQ快速入门