Collector的averagingInt(ToIntFunction <?super T>映射器)方法用於查找參數中傳遞的整數的平均值。此方法返回一個Collector,該Collector產生應用於輸入元素的integer-valued函數的算術平均值。如果沒有傳遞任何元素作為輸入元素,則此方法返回0。
該方法用於計算算術平均值的公式為:
用法:
public static <T> Collector<T, ?, Double> averagingInt(ToIntFunction<? super T> mapper)
其中,
- 接口Collector<T,A,R>:一種可變的歸約運算,它將輸入元素累積到一個可變結果容器中,在處理完所有輸入元素之後,可以有選擇地將累積的結果轉換為最終表示形式。還原操作可以順序或並行執行。
- T:歸約運算的輸入元素的類型。
- A:歸約運算的可變累積類型。
- R:歸約運算的結果類型。
- Double: Double類將原始類型double的值包裝在對象中。類型為Double的對象包含一個類型為double的單個字段。
- ToIntFunction:表示產生整數值結果的函數。
參數:此方法采用類型為ToIntFunction的強製性參數映射器。它是一個從流中提取int類型值的函數。
下麵是說明averagingInt()方法的示例:
程序1:
// Java code to show the implementation of
// Collectors averagingInt(ToIntFunction 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 with numbers
Stream<String> s = Stream.of("3", "4", "5");
// using Collectors averagingInt(ToIntFunction mapper)
// method to find arithmetic mean of inputs given
double ans = s
.collect(Collectors
.averagingInt(
num -> Integer.parseInt(num)));
// displaying the result
System.out.println(ans);
}
}
輸出:
4.0
程序2:當沒有輸入元素作為參數傳遞給averagingInt()方法時。
// Java code to show the implementation of
// Collectors averagingInt(ToIntFunction mapper) function
import java.util.stream.Collectors;
import java.util.stream.Stream;
class GFG {
// Driver code
public static void main(String[] args)
{
// creating a empty string stream
Stream<String> s = Stream.of();
// using Collectors averagingInt(ToIntFunction mapper)
// method to find arithmetic mean of inputs given
double ans = s
.collect(Collectors
.averagingInt(
num -> Integer.parseInt(num)));
// displaying the result
System.out.println(ans);
}
}
輸出:
0.0
程序3:
// Java code to show the implementation of
// Collectors averagingInt(ToIntFunction 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 averagingInt(ToIntFunction mapper)
// method to find arithmetic mean of inputs given
double ans = s
.collect(Collectors
.averagingInt(
num -> Integer.parseInt(num)));
// displaying the result
System.out.println(ans);
}
}
輸出:
8.5
相關用法
- Java Collectors toSet()用法及代碼示例
- Java 8 Collectors counting()用法及代碼示例
- Java Collectors averagingDouble()用法及代碼示例
- Java Collectors toMap()用法及代碼示例
- Java Collectors groupingBy()用法及代碼示例
- Java Collectors toList()用法及代碼示例
- Java Collectors collectingAndThen()用法及代碼示例
- Java Collectors averagingLong(ToLongFunction mapper)用法及代碼示例
- Java Collectors minBy(Comparator comparator)用法及代碼示例
- Java Collectors maxBy(Comparator comparator)用法及代碼示例
- Java Collectors partitioningBy()用法及代碼示例
注:本文由純淨天空篩選整理自Sahil_Bansall大神的英文原創作品 Java 8 | Collectors averagingInt() with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。