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中的數據就是分組后的數據
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM