跳至主要內容
Java8 Stream 多字段分组求和groupingBy

对流中的数据进行分组求和

例子

Collectors.groupingBy 最重要的一个参数 Function<? super T,? extends K> classifier ,它代表了 map 的 key

List<String> items = Arrays.asList("apple", "apple", "banana",
        "apple", "orange", "banana", "papaya");

Map<String, Long> result = items
        .stream()
        .collect(Collectors.groupingBy(Function.identity(),
                Collectors.counting()));

System.out.println(result);

// 运行结果
{papaya=1, orange=1, banana=2, apple=3}

logycoconut小于 1 分钟关于技术Java8Stream