IntStream reduce(int identity,IntBinaryOperator op)使用提供的標識值和關聯累加函數對此流的元素執行精簡,然後返回精簡的值。
歸約運算或折疊運算采用一係列輸入元素,並將它們組合成單個匯總結果,例如查找一組數字的總和或最大值。如果滿足以下條件,則運算符或函數op是關聯的:
(a op b) op c == a op (b op c)
這是終端操作,即可能會遍曆流以產生結果或副作用。執行終端操作後,流管線被視為已消耗,無法再使用。
用法:
int reduce(int identity, IntBinaryOperator op)
參數:
- identity:累加函數的標識值。
- IntBinaryOperator:對兩個具有int值的操作數進行運算並產生int值的結果。
- op:用於組合兩個值的關聯無狀態函數。
返回值:減少的結果。
範例1:
// Java code for IntStream reduce
// (int identity, IntBinaryOperator op)
import java.util.*;
import java.util.stream.IntStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an IntStream
IntStream stream = IntStream.of(2, 3, 4, 5, 6);
// Using IntStream reduce
// (int identity, IntBinaryOperator op)
int answer = stream.reduce(0, (num1, num2)
-> (num1 + num2) * 2);
// Displaying the result
System.out.println(answer);
}
}
輸出:
176
範例2:
// Java code for IntStream reduce
// (int identity, IntBinaryOperator op)
import java.util.*;
import java.util.stream.IntStream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating an IntStream
IntStream stream = IntStream.range(4, 10);
// Using IntStream reduce
// (int identity, IntBinaryOperator op)
int answer = stream.reduce(0, (num1, num2)
-> (num1 + num2) - 2 * (num1 - num2));
// Displaying the result
System.out.println(answer);
}
}
輸出:
9
相關用法
- Java IntStream reduce(IntBinaryOperator op)用法及代碼示例
- Java IntStream min()用法及代碼示例
- Java IntStream max()用法及代碼示例
- Java DoubleStream reduce(double identity, DoubleBinaryOperator op)用法及代碼示例
- Java LongStream reduce(long identity, LongBinaryOperator op)用法及代碼示例
- Java IntStream allMatch()用法及代碼示例
- Java IntStream toArray()用法及代碼示例
- Java IntStream noneMatch()用法及代碼示例
- Java IntStream distinct()用法及代碼示例
- Java IntStream peek()用法及代碼示例
- Java IntStream empty()用法及代碼示例
- Java IntStream average()用法及代碼示例
- Java IntStream count()用法及代碼示例
- Java IntStream filter()用法及代碼示例
注:本文由純淨天空篩選整理自Sahil_Bansall大神的英文原創作品 IntStream reduce(int identity, IntBinaryOperator op) in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。