Open In App

Collectors groupingBy() method in Java with Examples

Last Updated : 29 Jul, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

The groupingBy() method of Collectors class in Java are used for grouping objects by some property and storing results in a Map instance. In order to use it, we always need to specify a property by which the grouping would be performed. This method provides similar functionality to SQL’s GROUP BY clause.
 

Syntax:  

public static Collector<T, ?, Map<K, List>> groupingBy(Function classifier) 
 

Type Parameter: This method takes two type parameters: 

  • T- It is the type of the input elements.
     
  • K- It is the type the input elements to be converted.

Parameters: This method accepts two mandatory parameters:  

  • Function- It is the property which is to be applied to the input elements.
     
  • Classifier- It is used to map input elements into the destination map.

Return value: It returns a collector as a map.
 

Below is the program implementation of groupingBy() method:
Program 1: 

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<String> g
            = Arrays.asList("geeks", "for", "geeks");
 
        // Collect the list as map
        // by groupingBy() method
        Map<String, Long> result
            = g.stream().collect(
                Collectors.groupingBy(
                    Function.identity(),
                    Collectors.counting()));
 
        // Print the result
        System.out.println(result);
    }
}


Output: 

{geeks=2, for=1}

 

Reference: https://docs.oracle.com/javase/8/docs/api/java/util/stream/Collectors.html#groupingBy-java.util.function.Function-


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads