码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-05-10 14:48:51      阅读:589      评论:0      收藏:0      [点我收藏+]

标签:string   array   else   场景   java   public   contains   分组   add   

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中的实体按照某个字段进行分组的算法

标签:string   array   else   场景   java   public   contains   分组   add   

原文地址:https://www.cnblogs.com/qinxiaowan/p/10844185.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!