1.先创建数据

        List<Map<String, Object>> list = new ArrayList<>();
        Map<String, Object>  map1 = new HashMap<>();
        map1.put("name","a");
        map1.put("age","3");
        Map<String, Object>  map2 = new HashMap<>();
        map1.put("name","b");
        map2.put("age","4");
        Map<String, Object>  map3 = new HashMap<>();
        map1.put("name","c");
        map3.put("age","3");
        Map<String, Object>  map4 = new HashMap<>();
        map1.put("name","d");
        map4.put("age","5");
        list.add(map1);
        list.add(map2);
        list.add(map3);
        list.add(map4);

2.使用stream流处理数据

        要求:对list中age属性相同的map进行分组处理

Map<Object, List<Map<String, Object>>> ageMap = list.stream().collect(Collectors.groupingBy(item -> {
            return item.get("age");
        }));

3.对处理的数据进行后续操作

        for (Object o : ageMap.keySet()) {
            List<Map<String, Object>> maps = ageMap.get(o);
        }

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐