https://www.geeksforgeeks.org/java-8-collectors-counting-with-examples/
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.
<iframe data-google-container-id="1" data-is-safeframe="true" data-load-complete="true" frameborder="0" height="1" id="google_ads_iframe_/27823234/GFG_Desktop_PostContent_336x280_0" marginheight="0" marginwidth="0" scrolling="no" src="https://43ba9ee720d6cc73d017f158ebf35783.safeframe.googlesyndication.com/safeframe/1-0-40/html/container.html" title="3rd party ad content" width="1"></iframe>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);
}
}
|