📜  Java 8 |带有示例的收集器counting()

📅  最后修改于: 2022-05-13 01:54:40.292000             🧑  作者: Mango

Java 8 |带有示例的收集器counting()

收集器counting()方法用于统计作为参数传入流中的元素个数。它返回一个接受类型为 T 的元素的收集器,该元素对输入元素的数量进行计数。如果不存在任何元素,则结果为 0。这是一个终端操作,即它可能会遍历流以产生结果或副作用。它返回经过各种流水线流操作(如过滤、归约等)后到达 collect() 方法的流中元素的总数。

句法:

public static  Collector counting()

其中提到的条款如下:

  • Interface Collector< T, A, R > :一种可变归约操作,将输入元素累积到可变结果容器中,在处理完所有输入元素后,可选择将累积结果转换为最终表示。归约操作可以顺序或并行执行。
    • T:归约操作的输入元素的类型。
    • A:归约操作的可变累积类型。
    • R:归约操作的结果类型。
  • Long: Long 类将原始类型 long 的值包装在一个对象中。 Long 类型的对象包含一个 long 类型的字段。此外,该类提供了几种将 long 转换为 String 和 String 转换为 long 的方法,以及在处理 long 时有用的其他常量和方法。
  • T:输入元素的类型。

参数:此方法不带任何参数。

返回值:对输入元素进行计数的收集器。计数作为 Long 对象返回。

以下是说明counting()方法的示例:

方案一:

// 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 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

程序 2:当没有元素作为输入元素传递时。

// 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 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