java grouping,Java Collectors groupingBy()用法及代码示例

  • Post author:
  • Post category:java


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

用法:

public static Collector> groupingBy(Function classifier)

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

T-这是输入元素的类型。

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

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

Function-这是要应用于输入元素的属性。

Classifier-它用于将输入元素映射到目标映射中。

返回值:它返回一个Collector作为Map。

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

程序1:

// 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}