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); } } |
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); } } |
0