📜  Java中的 Collectors groupingBy() 方法及示例

📅  最后修改于: 2022-05-13 01:55:07.563000             🧑  作者: Mango

Java中的 Collectors groupingBy() 方法及示例

Java中 Collectors 类的groupingBy()方法用于按某些属性对对象进行分组并将结果存储在 Map 实例中。为了使用它,我们总是需要指定一个属性来执行分组。此方法提供与 SQL 的 GROUP BY 子句类似的功能。

句法:

类型参数:此方法采用两个类型参数:

  • T-它是输入元素的类型。
  • K-这是要转换的输入元素的类型。

参数:此方法接受两个强制参数:

  • 函数-这是要应用于输入元素的属性。
  • 分类器 - 用于将输入元素映射到目标地图。

返回值:它以地图的形式返回一个收集器。

下面是 groupingBy() 方法的程序实现:
方案一:

Java
// Java program to demonstrate
// Collectors groupingBy() method
 
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
 
public class GFG {
    public static void main(String[] args)
    {
 
        // Get the List
        List g
            = Arrays.asList("geeks", "for", "geeks");
 
        // Collect the list as map
        // by groupingBy() method
        Map result
            = g.stream().collect(
                Collectors.groupingBy(
                    Function.identity(),
                    Collectors.counting()));
 
        // Print the result
        System.out.println(result);
    }
}


输出:
{geeks=2, for=1}

参考: https: Java/util/stream/Collectors.html#groupingBy-java.util。函数。函数-