Skip to content

Stream.reduce()方法是Java Stream API中的一个终端操作,用于将流中的元素组合成一个值。它接受一个BinaryOperator<T>类型的参数,表示一个接受两个输入参数并返回一个结果的函数。reduce()方法将这个函数应用于流中的元素,从而将它们组合成一个单一的结果。

以下是一个使用Stream.reduce()方法的示例:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
Optional<Integer> sum = numbers.stream().reduce((a, b) -> a + b);

在这个示例中,我们首先创建了一个包含整数的列表。然后,我们使用stream()方法创建一个Stream,并使用reduce()方法计算整数列表的和。我们使用Lambda表达式(a, b) -> a + b作为BinaryOperator,用于将两个元素相加。reduce()方法返回一个Optional<T>对象,表示可能存在或不存在的结果。

注意,Stream.reduce()方法在空流上调用时返回一个空的Optional对象。因此,在处理结果之前,建议使用Optional.isPresent()方法检查结果是否存在。