使用stream 求BigDecimal集合 平均值
您可以使用流来求一个BigDecimal集合的平均值。下面是一个示例代码:
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<BigDecimal> numbers = new ArrayList<>();
numbers.add(new BigDecimal("10.5"));
numbers.add(new BigDecimal("20.6"));
numbers.add(new BigDecimal("30.7"));
numbers.add(new BigDecimal("40.8"));
BigDecimal average = numbers.stream()
.reduce(BigDecimal.ZERO, BigDecimal::add)
.divide(new BigDecimal(numbers.size()));
System.out.println("平均值:" + average);
}
}
在上面的示例中,我们创建了一个BigDecimal类型的集合,并向其中添加了几个数字。然后,我们使用流的reduce操作将所有数字累加起来,并通过divide操作将结果除以集合的大小,得到平均值。最后,我们打印出平均值。
请注意,上述代码中使用了BigDecimal的add和divide方法来避免精度丢失问题
原文地址: http://www.cveoy.top/t/topic/iYI9 著作权归作者所有。请勿转载和采集!