使用 BinaryOperator<BigDecimal> 计算平均值 - Java 8 Stream API
使用 BinaryOperator<BigDecimal> 计算平均值,您可以使用 Java 8 中的 Stream API 来实现。下面是一个示例代码:
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.function.BinaryOperator;
public class Main {
public static void main(String[] args) {
List<BigDecimal> numbers = Arrays.asList(
new BigDecimal('1.5'),
new BigDecimal('2.0'),
new BigDecimal('2.5'),
new BigDecimal('3.0')
);
BinaryOperator<BigDecimal> sumOperator = (a, b) -> a.add(b);
BigDecimal sum = numbers.stream()
.reduce(BigDecimal.ZERO, sumOperator);
BigDecimal average = sum.divide(new BigDecimal(numbers.size()));
System.out.println('Average: ' + average);
}
}
在上面的示例中,我们首先创建一个包含 BigDecimal 类型数字的列表。然后,我们定义了一个 BinaryOperator<BigDecimal>,用于将两个 BigDecimal 对象相加。接下来,我们使用 Stream 的 reduce 操作将列表中的所有数字相加,得到总和。最后,我们通过将总和除以列表的大小来计算平均值,并将结果打印出来。
请注意,由于 BigDecimal 是不可变对象,所以我们使用 add 方法将两个 BigDecimal 对象相加,而不是直接使用 + 运算符。
原文地址: https://www.cveoy.top/t/topic/eqm6 著作权归作者所有。请勿转载和采集!