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


Java Collectors averagingLong(ToLongFunction mapper)用法及代碼示例


Collector的averagingLong(ToLongFunction <?super T> mapper)方法用於查找在參數中傳遞的long值的平均值。此方法返回一個Collector,該Collector產生應用於輸入元素的long值函數的算術平均值。如果沒有傳遞任何元素作為輸入元素,則此方法返回0。

該方法用於計算算術平均值的公式為:

  {\displaystyle A={\frac {1}{n}}\sum _{i=1}^{n}a_{i}={\frac {a_{1}+a_{2}+\cdots +a_{n}}{n}}}

用法:

public static <T> 
    Collector<T, ?, Double> 
        averagingLong(ToLongFunction<? super T> mapper)

其中的術語如下:

  • 接口Collector<T,A,R>:一種可變的歸約運算,它將輸入元素累積到一個可變結果容器中,在處理完所有輸入元素之後,可以有選擇地將累積的結果轉換為最終表示形式。還原操作可以順序或並行執行。
    • T:歸約運算的輸入元素的類型。
    • A:歸約運算的可變累積類型。
    • R:歸約運算的結果類型。
  • Double: Double類將原始類型double的值包裝在對象中。類型為Double的對象包含一個類型為double的單個字段。
  • ToLongFunction:表示產生long值結果的函數。

參數:此方法接受參數 mapper,該參數 mapper是使用ToLongFunctions轉換為Long的long值流。 ToLongFunction是一種在流對象上工作時提取長型值的函數。

下麵是說明averagingLong()方法的示例:

程序1:

// Java code to show the implementation of 
// averagingLong(ToLongFunction mapper) function 
  
import java.util.stream.Collectors; 
import java.util.stream.Stream; 
  
class GFG { 
  
    // Driver code 
    public static void main(String[] args) 
    { 
  
        // creating a string stream 
        Stream<String> s = Stream.of("3", "4", "5"); 
  
        // using Collectors averagingLong(ToLongFunction mapper) 
        // method to find arithmetic mean of inputs given 
        double ans = s 
                         .collect(Collectors 
                                      .averagingLong( 
                                          num -> Long.parseLong(num))); 
  
        // displaying the result 
        System.out.println(ans); 
    } 
}
輸出:
4.0

程序2:

// Java code to show the implementation of 
// averagingLong(ToLongFunction mapper) function 
  
import java.util.stream.Collectors; 
import java.util.stream.Stream; 
  
class GFG { 
  
    // Driver code 
    public static void main(String[] args) 
    { 
  
        // creating a string stream 
        Stream<String> s = Stream.of("7", "8", "9", "10"); 
  
        // using Collectors averagingLong(ToLongFunction mapper) 
        // method to find arithmetic mean of inputs given 
        double ans = s 
                         .collect(Collectors 
                                      .averagingLong( 
                                          num -> Long.parseLong(num))); 
  
        // displaying the result 
        System.out.println(ans); 
    } 
}
輸出:
8.5

程序3:當沒有值作為參數傳遞時。

// Java code to show the implementation of 
// averagingLong(ToLongFunction mapper) function 
  
import java.util.stream.Collectors; 
import java.util.stream.Stream; 
  
class GFG { 
  
    // Driver code 
    public static void main(String[] args) 
    { 
  
        // creating a string stream 
        Stream<String> s = Stream.of(); 
  
        // using Collectors averagingLong(ToLongFunction mapper) 
        // method to find arithmetic mean of inputs given 
        double ans = s 
                         .collect(Collectors 
                                      .averagingLong( 
                                          num -> Long.parseLong(num))); 
  
        // displaying the result 
        System.out.println(ans); 
    } 
}
輸出:
0.0


相關用法


注:本文由純淨天空篩選整理自Sahil_Bansall大神的英文原創作品 Java | Collectors averagingLong (ToLongFunction mapper) with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。