Map出现重复Key值叠加到上一个key中

Map出现重复Key值将下一个key值叠加在上一个key值中

   List<Map<String, Object>> list = new ArrayList<>();
        //模拟数据库数据
        for (int i = 0; i < 10; i++) {
            Map<String, Object> map = new HashMap<>();
            map.put("id", i);
            map.put("name", "张三" + i);
            if (i < 10 - 1) {
                map.put("pid", 2);
            } else {
                map.put("pid", 3);
            }
            list.add(map);
        }
        //运用map中的containsKey方法
        Map<String, Object> map1 = new HashMap<>();
        for (Map map2 : list) {
            List<Object> list1 = new ArrayList<>();
            String pid = map2.get("pid") + "";
            //如果是重复的那么就进行叠加操作
            if (map1.containsKey(pid)) {
                list1 = (List<Object>) map1.get(pid);
            } 
            list1.add(map2);
            map1.put(map2.get("pid") + "", list1);
        }
        System.out.println(map1);
        
    }


猜你喜欢

转载自blog.csdn.net/weixin_44100744/article/details/106048689
今日推荐