java使用 stream 计算平均值 list 存的BigDecimal
时间: 2023-09-11 16:09:33 浏览: 134
使用Java的Stream API可以很方便地对存储了BigDecimal类型的List进行计算平均值。下面是一个示例代码:
```java
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<BigDecimal> numbers = Arrays.asList(
new BigDecimal("10.5"),
new BigDecimal("20.3"),
new BigDecimal("30.8"),
new BigDecimal("40.2"),
new BigDecimal("50.6")
);
BigDecimal average = numbers.stream()
.reduce(BigDecimal.ZERO, BigDecimal::add)
.divide(BigDecimal.valueOf(numbers.size()), 2, BigDecimal.ROUND_HALF_UP);
System.out.println("Average: " + average);
}
}
```
在这个例子中,我们首先创建了一个存储了BigDecimal类型的List。然后使用Stream的reduce()方法将所有元素累加起来,得到总和。接着,我们使用divide()方法将总和除以元素的个数,计算平均值。最后,我们使用setScale()方法设置小数位数,并使用ROUND_HALF_UP进行四舍五入。
运行以上代码,将输出平均值。根据你的具体需求,你可以根据实际情况进行调整。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![jar](https://img-home.csdnimg.cn/images/20210720083455.png)