📜  Java中的 LongStream reduce(long identity, LongBinaryOperator op) 与示例(1)

📅  最后修改于: 2023-12-03 15:01:55.208000             🧑  作者: Mango

Java中的 LongStream reduce(long identity, LongBinaryOperator op)

在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)方法来完成流处理中的归约操作。