当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java 8 Collectors counting()用法及代码示例


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

用法:

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

其中提到的术语如下:


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

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

返回值:对输入元素进行计数的Collector。该计数作为Long对象返回。

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

程序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

程序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<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


相关用法


注:本文由纯净天空筛选整理自Sahil_Bansall大神的英文原创作品 Java 8 | Collectors counting() with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。