zoukankan      html  css  js  c++  java
  • 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中的数据就是分组后的数据
    }
  • 相关阅读:
    校验规则,纯数字。几位有效数字,保留几位小数
    银行卡校验规则(Luhn算法)
    forEach兼容ie8
    node.js
    gulp
    observer
    webpack.config.js 配置
    内存泄漏(Memory Leak)
    cdn
    前端 各种插件的官网
  • 原文地址:https://www.cnblogs.com/xianz666/p/13396405.html
Copyright © 2011-2022 走看看