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()
方法检查结果是否存在。