可以使用Java 8中的Stream API和lambda表达式来实现将List按照a属性分组并计算每组的数据个数。

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

public class Main {

    public static void main(String[] args) {
        List<Map<String, Object>> list = new ArrayList<>();

        Map<String, Object> map1 = new HashMap<>();
        map1.put("a", "group1");
        map1.put("b", 1);
        list.add(map1);

        Map<String, Object> map2 = new HashMap<>();
        map2.put("a", "group2");
        map2.put("b", 2);
        list.add(map2);

        Map<String, Object> map3 = new HashMap<>();
        map3.put("a", "group1");
        map3.put("b", 3);
        list.add(map3);

        Map<String, Object> map4 = new HashMap<>();
        map4.put("a", "group2");
        map4.put("b", 4);
        list.add(map4);

        Map<String, Object> map5 = new HashMap<>();
        map5.put("a", "group1");
        map5.put("b", 5);
        list.add(map5);

        Map<String, Object> map6 = new HashMap<>();
        map6.put("a", "group2");
        map6.put("b", 6);
        list.add(map6);

        Map<String, Long> groupCount = list.stream()
                .collect(Collectors.groupingBy(m -> (String) m.get("a"), Collectors.counting()));

        System.out.println(groupCount);
    }
}

运行上述代码,输出结果为:

{group1=3, group2=3}

以上代码通过Stream API中的collect方法和Collectors.groupingBy方法,将List按照a属性进行分组,并使用Collectors.counting方法计算每组的数据个数。最终输出每组的数据个数

java 使用lambda表达式将ListMap按照a属性分组并算出每组的数据个数

原文地址: http://www.cveoy.top/t/topic/isve 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录