Java将List中的实体按照某个字段进行分组的算法

Posted QW-lzm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java将List中的实体按照某个字段进行分组的算法相关的知识,希望对你有一定的参考价值。

public void test() {
List
<User> list = new ArrayList<>(); //User 实体 测试用 String id,name; //当前测试以id来分组,具体请按开发场景修改 list.add(new User("1", "1")); list.add(new User("1", "2")); list.add(new User("2", "2")); list.add(new User("2", "3")); list.add(new User("2", "4")); list.add(new User("3", "3")); //初始化一个map Map<String, List<User>> map = new HashMap<>(); for(User user : list) { String key = user.getId(); if(map.containsKey(key)) { //map中存在以此id作为的key,将数据存放当前key的map中 map.get(key).add(user); } else { //map中不存在以此id作为的key,新建key用来存放数据 List<User> userList = new ArrayList<>(); userList.add(user); map.put(key, userList); } } //分组结束,map中的数据就是分组后的数据
}

以上是关于Java将List中的实体按照某个字段进行分组的算法的主要内容,如果未能解决你的问题,请参考以下文章

java小技能:对list集合根据条件进行分组过滤和字段筛选

精品list 元素 分组

Python通过Groupby实现分组

list 根据某个字段分组

Elasticsearch系列---聚合查询

java如何让list按照list里面的某个字段排序,list里面的有很多字段!