Open In App
Related Articles

Java 8 | Collectors counting() with Examples

Improve Article
Improve
Save Article
Save
Like Article
Like

Collectors counting() method is used to count the number of elements passed in the stream as the parameter. It returns a Collector accepting elements of type T that counts the number of input elements. If no elements are present, the result is 0. It is a terminal operation i.e, it may traverse the stream to produce a result or a side-effect. It returns the total count of elements in the stream which reach the collect() method after undergoing various pipelined stream operations such as filtering, reduction etc.

Syntax:

public static <T> Collector<T, ?, Long> counting()

where the mentioned terms are as follows:

  • Interface Collector<T, A, R>: A mutable reduction operation that accumulates input elements into a mutable result container, optionally transforming the accumulated result into a final representation after all input elements have been processed. Reduction operations can be performed either sequentially or in parallel.
    • T: The type of input elements to the reduction operation.
    • A: The mutable accumulation type of the reduction operation.
    • R: The result type of the reduction operation.
  • Long: The Long class wraps a value of the primitive type long in an object. An object of type Long contains a single field whose type is long. In addition, this class provides several methods for converting a long to a String and a String to a long, as well as other constants and methods useful when dealing with a long.
  • T: The type of the input elements.

Parameters: This method does not take any parameter.

Return Value: A Collector that counts the input elements. The count is returned as Long object.

Below are examples to illustrate counting() method:

Program 1:




// Java code to show the implementation of
// Collectors counting() method
  
import java.util.stream.Collectors;
import java.util.stream.Stream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // creating a stream of strings
        Stream<String> s = Stream.of("1", "2", "3", "4");
  
        // using Collectors counting() method to
        // count the number of input elements
        long ans = s.collect(Collectors.counting());
  
        // displaying the required count
        System.out.println(ans);
    }
}

Output:

4

Program 2: When no element is passed as input element.




// Java code to show the implementation of
// Collectors counting() method
  
import java.util.stream.Collectors;
import java.util.stream.Stream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // creating a stream of strings
        Stream<String> s = Stream.of();
  
        // using Collectors counting() method to
        // count the number of input elements
        long ans = s.collect(Collectors.counting());
  
        // displaying the required count
        System.out.println(ans);
    }
}

Output:

0

Last Updated : 06 Dec, 2018
Like Article
Save Article
Similar Reads
Related Tutorials