📅  最后修改于: 2023-12-03 15:01:55.208000             🧑  作者: Mango
在Java中,LongStream
是一个包含long值的流。 reduce(long identity, LongBinaryOperator op)
方法是LongStream
类的一个特殊函数,它将LongBinaryOperator
与流的所有元素组合起来,并返回一个OptionalLong
,表示对这些元素进行二元操作后的结果。
identity
:表示二元操作的初始值。op
:表示对给定的两个long值执行的操作。返回一个OptionalLong
,表示应用给定二元操作符的所有元素的结果。
import java.util.OptionalLong;
import java.util.stream.LongStream;
public class LongStreamExample {
public static void main(String[] args) {
LongStream longStream = LongStream.of(1, 2, 3, 4, 5);
OptionalLong result = longStream.reduce(0, (a, b) -> a + b);
if (result.isPresent()) {
System.out.println("Result: " + result.getAsLong());
} else {
System.out.println("Result is not present.");
}
}
}
上述示例中,我们通过创建一个包含1到5的long值的LongStream
,并将其传递给reduce(long identity, LongBinaryOperator op)
方法来计算这些数字的总和。使用identity
参数,我们将结果初始化为0,并在每次迭代中将前一个元素的值添加到下一个元素的值上。最后,我们使用OptionalLong
类型的结果来打印最终结果。
输出:
Result: 15
这样,我们就成功利用了reduce(long identity, LongBinaryOperator op)
方法来完成流处理中的归约操作。