java将map根据key分组_Java将List中的实体类按照某个字段进行分组并存放至Map中操作代码...
本篇文章小编给大家分享一下Java将List中的实体类按照某个字段进行分组并存放至Map中操作代码,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
1、JDK1.8之前:
假设有实体类User,里面有字段id,我们将相同id的User进行分组,并存放在Map中。(例子不是很恰当,但很能说明问题)
public static void main(String[] args) {
Listlist = new ArrayList<>();
list.add(new User(1, 1));
list.add(new User(1, 2));
list.add(new User(2, 1));
list.add(new User(2, 3));
list.add(new User(2, 2));
list.add(new User(3, 1));
Map> map = new HashMap<>();
for(User user : list){
if(map.containsKey(user.getId())){//map中存在此id,将数据存放当前key的map中
map.get(user.getId()).add(user);
}else{//map中不存在,新建key,用来存放数据
ListtmpList = new ArrayList<>();
tmpList.add(user);
map.put(user.getId(), tmpList);
}
}
System.out.println(map.toString());
}
执行结果:
可以看到达到了了我们的目的
2、JDK1.8 新特性实现
Map> map =
list.stream().collect(Collectors.groupingBy(User::getId));
附上
List>>分组
List>> list = new ArrayList<>();
Map>> contractIdMap =
list.stream().collect(Collectors.groupingBy(m -> (Long.parseLong(m.get("contractId").toString()))));
Map>> nameMap =
list.stream().collect(Collectors.groupingBy(m -> (m.get("name").toString())));
java将map根据key分组_Java将List中的实体类按照某个字段进行分组并存放至Map中操作代码...相关推荐
- java list 分组_Java 将List中的实体类按照某个字段进行分组并存
1.JDK1.8之前: 假设有实体类User,里面有字段id,我们将相同id的User进行分组,并存放在Map中.(例子不是很恰当,但很能说明问题) public static void main(S ...
- 集合中的实体类根据一个字段合并_JAVA中序列化与反序列化
一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化: 把字节序列恢复为对象的过程称为对象的反序列化. 说人话:就是JAVA对象需要保存或通过网络传输必须保存为二进制才行,所以就需要 ...
- netbeans连接数据库_NetBeans Java EE技巧#1 –数据库中的实体类
netbeans连接数据库 NetBeans IDE是开发各种应用程序的绝佳选择. 具体来说,我每天都使用它来开发和维护Java EE应用程序. 在过去的几个发行版中,不仅Java EE的生产力提高了 ...
- NetBeans Java EE技巧#1 –数据库中的实体类
NetBeans IDE是开发各种应用程序的绝佳选择. 具体来说,我每天都使用它来开发和维护Java EE应用程序. 在过去的几个发行版中,不仅Java EE的生产力提高了,而且NetBeans ID ...
- android java 实体类 object变量 保存_Java中的实体类--Serializable接口、transient 关键字...
在java中,实体类是一个非常重要的概念,我们可以在实体类中封装对象.设置其属性和方法等.关于实体类,也经常涉及到适配器模式.装饰者模式等设计模式.那么在实际代码开发中,关于实体类的注意事项有哪些呢? ...
- android 遍历实体类,Java中遍历实体类(处理MongoDB)
在实际过程中,经常要将实体类进行封装,尤其是处理数据库的过程中:因此,对于遍历实体类能够与数据库中的一行数据对应起来. 我是使用的环境是Spring boot,访问的数据库时MongoDB 实体类遍历 ...
- java中遍历实体类,获取属性名和属性值
方式一(实体类): //java中遍历实体类,获取属性名和属性值public static void testReflect(Object model) throws Exception{for (F ...
- Java中的实体类(VO、PO、DO、DTO、BO、QO、DAO、POJO)
Java中的实体类(VO.PO.DO.DTO.BO.QO.DAO.POJO) PO(persistant object) 持久对象 DO(Domain Object)领域对象 TO(Transfer ...
- java map统计学生名单_Java含自己的总结:集合,学生,遍历,ArrayList,Set,Map,泛型,班级,发牌—诗书画唱...
声明一个ArrayList,存储一条学生信息,内容为 1 张三 22 男,将信息进行遍历出来 package list; import java.util.ArrayList; im ...
最新文章
- Python标准库_ sys,random,time
- python线下培训-天津python培训,0基础学python线上还是线下好?
- antd4中Form.create已废弃
- matlab 散点图 线性回归图_线性回归思路梳理
- Codeforces Round #724 (Div. 2) F. Omkar and Akmar 组合数学 + 博弈
- enum 定义3个属性_和平精英:合金龙骨有3个隐藏属性,比玛莎“水下无敌”还唬人...
- 7个理由,给你推荐这款“秒杀Excel”的分析神器!
- ASP.NET MVC 2 学习笔记二: 表单的灵活提交
- leetcode python3 简单题191. Number of 1 Bits
- windows 搭建和配置 hadoop + 踩过的坑
- 1074 Reversing Linked List
- excel自动换行_你会用Excel制作 流程图 吗?
- Wifi网络共享----Win8内置承载网络
- Unity合规检测处理
- IPFS和梅克尔森林
- 【新知实验室-TRTC开发】实时音视频之集美真心话
- win10的0x0000225及0x000007b修复方法
- 怎样用matlab做矩阵的LU分解,矩阵LU分解程序实现(Matlab)
- java解析多层json,手把手教你怎么解析多层嵌套的JSON数据(使用JSONModel)
- STM32 快速入门(内核架构,启动方式,开发参考资料,芯片选型)