當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。