• 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中的数据就是分组后的数据
    }
  • 相关阅读:
    BZOJ1040: [ZJOI2008]骑士
    酱油记:GDKOI2018
    BZOJ1800: [Ahoi2009]fly 飞行棋
    BZOJ3894: 文理分科
    树链剖分
    文件格式问题
    10.23模拟赛
    snakes
    数据结构题目
    jquery&nbsp;easyui&nbsp;datebox&nbsp;的使用&nbsp;.
  • 原文地址:https://www.cnblogs.com/xianz666/p/13396405.html
Copyright © 2020-2023  润新知