本篇文章小编给大家分享一下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中操作代码...相关推荐

  1. java list 分组_Java 将List中的实体类按照某个字段进行分组并存

    1.JDK1.8之前: 假设有实体类User,里面有字段id,我们将相同id的User进行分组,并存放在Map中.(例子不是很恰当,但很能说明问题) public static void main(S ...

  2. 集合中的实体类根据一个字段合并_JAVA中序列化与反序列化

    一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化: 把字节序列恢复为对象的过程称为对象的反序列化. 说人话:就是JAVA对象需要保存或通过网络传输必须保存为二进制才行,所以就需要 ...

  3. netbeans连接数据库_NetBeans Java EE技巧#1 –数据库中的实体类

    netbeans连接数据库 NetBeans IDE是开发各种应用程序的绝佳选择. 具体来说,我每天都使用它来开发和维护Java EE应用程序. 在过去的几个发行版中,不仅Java EE的生产力提高了 ...

  4. NetBeans Java EE技巧#1 –数据库中的实体类

    NetBeans IDE是开发各种应用程序的绝佳选择. 具体来说,我每天都使用它来开发和维护Java EE应用程序. 在过去的几个发行版中,不仅Java EE的生产力提高了,而且NetBeans ID ...

  5. android java 实体类 object变量 保存_Java中的实体类--Serializable接口、transient 关键字...

    在java中,实体类是一个非常重要的概念,我们可以在实体类中封装对象.设置其属性和方法等.关于实体类,也经常涉及到适配器模式.装饰者模式等设计模式.那么在实际代码开发中,关于实体类的注意事项有哪些呢? ...

  6. android 遍历实体类,Java中遍历实体类(处理MongoDB)

    在实际过程中,经常要将实体类进行封装,尤其是处理数据库的过程中:因此,对于遍历实体类能够与数据库中的一行数据对应起来. 我是使用的环境是Spring boot,访问的数据库时MongoDB 实体类遍历 ...

  7. java中遍历实体类,获取属性名和属性值

    方式一(实体类): //java中遍历实体类,获取属性名和属性值public static void testReflect(Object model) throws Exception{for (F ...

  8. 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 ...

  9. java map统计学生名单_Java含自己的总结:集合,学生,遍历,ArrayList,Set,Map,泛型,班级,发牌—诗书画唱...

    声明一个ArrayList,存储一条学生信息,内容为  1    张三   22    男,将信息进行遍历出来 package list; import java.util.ArrayList; im ...

最新文章

  1. Python标准库_ sys,random,time
  2. python线下培训-天津python培训,0基础学python线上还是线下好?
  3. antd4中Form.create已废弃
  4. matlab 散点图 线性回归图_线性回归思路梳理
  5. Codeforces Round #724 (Div. 2) F. Omkar and Akmar 组合数学 + 博弈
  6. enum 定义3个属性_和平精英:合金龙骨有3个隐藏属性,比玛莎“水下无敌”还唬人...
  7. 7个理由,给你推荐这款“秒杀Excel”的分析神器!
  8. ASP.NET MVC 2 学习笔记二: 表单的灵活提交
  9. leetcode python3 简单题191. Number of 1 Bits
  10. windows 搭建和配置 hadoop + 踩过的坑
  11. 1074 Reversing Linked List
  12. excel自动换行_你会用Excel制作 流程图 吗?
  13. Wifi网络共享----Win8内置承载网络
  14. Unity合规检测处理
  15. IPFS和梅克尔森林
  16. 【新知实验室-TRTC开发】实时音视频之集美真心话
  17. win10的0x0000225及0x000007b修复方法
  18. 怎样用matlab做矩阵的LU分解,矩阵LU分解程序实现(Matlab)
  19. java解析多层json,手把手教你怎么解析多层嵌套的JSON数据(使用JSONModel)
  20. STM32 快速入门(内核架构,启动方式,开发参考资料,芯片选型)

热门文章

  1. PyCharm 4.5 激活码
  2. CrawlSpider实现微信小程序社区爬虫
  3. golang 定时任务处理
  4. 【sdx62】WCN6855 WCN6856 WiFi 增加强制40MHz频宽的功能实现
  5. Python人脸识别——从入门到工程实践
  6. 文章本天成妙手偶得之
  7. windchill 系统客制角色
  8. easypoi 语法_高中英语语法:高中英语必修1选修8全八册知识点总结
  9. LR(1)分析法的总控的实现(C++实现)
  10. android 区分平板,加量不加价!台电首款基于Android 11的平板终上市