Java 计算 List 平均值 不用Steam
时间: 2023-08-16 22:06:28 浏览: 110
可以使用循环来计算 List 的平均值,具体代码如下:
```java
public static double calculateAverage(List<Integer> list) {
int sum = 0;
for (int i = 0; i < list.size(); i++) {
sum += list.get(i);
}
return (double)sum / list.size();
}
```
这里假设 List 中存储的是整数类型,如果是其他类型需要做相应的修改。
相关问题
Java 计算 List 平均值
可以使用 Java 8 的 Stream API 来计算 List 平均值。代码示例如下:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
double average = list.stream()
.mapToInt(Integer::intValue)
.average()
.orElse(Double.NaN);
System.out.println("平均值为:" + average);
```
首先将 List 转换为 Stream,然后通过 mapToInt 方法将 Stream 中的元素转换为 int 类型,接着调用 average 方法计算平均值。注意,如果 List 为空,orElse 方法将返回 Double.NaN。
java使用 stream 计算平均值 list 存的BigDecimal
使用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进行四舍五入。
运行以上代码,将输出平均值。根据你的具体需求,你可以根据实际情况进行调整。
阅读全文