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
相关用法
- Java 8 Collectors averagingInt()用法及代码示例
- Java Collectors toSet()用法及代码示例
- Java Collectors averagingDouble()用法及代码示例
- Java Collectors collectingAndThen()用法及代码示例
- Java Collectors toList()用法及代码示例
- Java Collectors toMap()用法及代码示例
- Java Collectors groupingBy()用法及代码示例
- Java Collectors averagingLong(ToLongFunction mapper)用法及代码示例
- Java streams counting()用法及代码示例
- Java Collectors maxBy(Comparator comparator)用法及代码示例
- Java Collectors minBy(Comparator comparator)用法及代码示例
- Java Collectors partitioningBy()用法及代码示例
注:本文由纯净天空筛选整理自Sahil_Bansall大神的英文原创作品 Java 8 | Collectors counting() with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。