En Java 8, hay un método counting() predefinido devuelto por el método counting() de la clase Collectors para contar el número de elementos en una secuencia.
Sintaxis:
public static Collector counting() Donde, la salida es un Collector , que actúa sobre un Stream de elementos de tipo T , con su finalizador devolviendo el valor ‘recopilado’ de tipo Long. Es una operación de terminal que devuelve el recuento total de elementos en el flujo que llegan al método de recopilación() después de pasar por varias operaciones de flujo canalizado, como el filtrado.
Ejemplo 1: contar los elementos en flujo de enteros.
// Java code to count number of elements // in stream import java.util.stream.Stream; import java.util.stream.Collectors; class counting { public static void main(String[] args) { // creating stream of integers Stream<Integer> i = Stream.of(1, 2, 3, 4, 5, 6); // counting number of integer in stream long count_int = i.collect(Collectors.counting()); System.out.println(count_int); } }
Producción:
6
Ejemplo 2: Contar los elementos en flujo de String.
// JAVA code to count number of elements in stream import java.util.stream.Stream; import java.util.stream.Collectors; class counting { public static void main(String[] args) { // creating stream of strings Stream<String> s = Stream.of("Akash","Harsh", "Shubham","Nishant","Pratik"); // counting number of strings in stream long count_string = s.collect(Collectors.counting()); System.out.println(count_string); } }
Producción:
5