IntStream reduce(IntBinaryOperator op)使用關聯累加函數對此流的元素進行歸約,並返回描述歸約值的OptionalInt(如果有)。
歸約運算或折疊運算采用一係列輸入元素,並將它們組合成單個匯總結果,例如查找一組數字的總和或最大值。如果滿足以下條件,則運算符或函數op是關聯的:
(a op b) op c == a op (b op c)
這是終端操作,即可能會遍曆流以產生結果或副作用。執行終端操作後,流管線被視為已消耗,無法再使用。
用法:
OptionalInt reduce(IntBinaryOperator op)
參數:
- OptionalInt:一個可能包含也可能不包含int值的容器對象。如果存在值,則isPresent()將返回true,而getAsInt()將返回該值。
- IntBinaryOperator:對兩個具有int值的操作數進行運算並產生int值的結果。
- op:用於組合兩個值的關聯無狀態函數。
返回值:描述減小的值的OptionalInt(如果有)。
範例1:
// Java code for IntStream reduce
// (IntBinaryOperator op)
import java.util.OptionalInt;
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 OptionalInt (a container object which
// may or may not contain a non-null value)
// Using IntStream reduce(IntBinaryOperator op)
OptionalInt answer = stream.reduce(Integer::sum);
// if the stream is empty, an empty
// OptionalInt is returned.
if (answer.isPresent()) {
System.out.println(answer.getAsInt());
}
else {
System.out.println("no value");
}
}
}
輸出:
20
範例2:
// Java code for IntStream reduce
// (IntBinaryOperator op)
import java.util.OptionalInt;
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 OptionalInt (a container object which
// may or may not contain a non-null value)
// Using IntStream reduce(IntBinaryOperator op)
OptionalInt answer = stream.reduce((a, b) -> (a * b));
// if the stream is empty, an empty
// OptionalInt is returned.
if (answer.isPresent()) {
System.out.println(answer.getAsInt());
}
else {
System.out.println("no value");
}
}
}
輸出:
720
相關用法
- Java IntStream min()用法及代碼示例
- Java IntStream max()用法及代碼示例
- Java IntStream count()用法及代碼示例
- Java IntStream anyMatch()用法及代碼示例
- Java IntStream peek()用法及代碼示例
- Java IntStream toArray()用法及代碼示例
- Java IntStream noneMatch()用法及代碼示例
- Java IntStream average()用法及代碼示例
- Java IntStream allMatch()用法及代碼示例
- Java IntStream filter()用法及代碼示例
- Java IntStream distinct()用法及代碼示例
- Java IntStream empty()用法及代碼示例
- Java IntStream codePoints()用法及代碼示例
- Java IntStream.Builder build()用法及代碼示例
- Java IntStream reduce(int identity, IntBinaryOperator op)用法及代碼示例
注:本文由純淨天空篩選整理自Sahil_Bansall大神的英文原創作品 IntStream reduce(IntBinaryOperator op) in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。