List<BigDecimal> 计算平均值 用stream流
时间: 2024-10-11 21:18:01 浏览: 47
BigDecimal详解、代码示例和经常遇到的坑
在Java中,如果你有一个`List<BigDecimal>`类型的列表,你可以使用Stream API来计算其平均值。以下是使用流(Stream)的方式:
```java
import java.util.List;
import java.math.BigDecimal;
List<BigDecimal> numbers = ... // 你的BigDecimal列表
BigDecimal average = numbers.stream()
.map(BigDecimal::doubleValue) // 转换为double以便于数学运算
.average() // 使用average()方法计算平均值
.orElse(BigDecimal.ZERO); // 如果列表为空,返回0作为默认值
System.out.println("平均值为:" + average);
```
这里我们首先将`BigDecimal`转换为`Double`,因为Stream API直接操作的是原始数值类型。然后调用`average()`方法获取平均值,如果列表为空则会返回`Optional双精度浮点数`,所以我们使用`orElse()`提供一个默认值。
阅读全文