Java 中计算列表的平均值

2025年3月17日 | 阅读 3 分钟

在 Java 中,List 是一种线性数据结构,用于存储有序的数据集合。它也接受重复值,但会保留插入顺序。有时,需要查找列表的最小和最大元素、列表的总和和平均值等。在本节中,我们将使用 Java for 循环Java 8 StreamIntSummaryStatistics 类来计算 List 的平均值

计算列表平均值的 Java 程序

使用Java for循环

逻辑非常简单。首先,我们将一个名为 sum 的变量初始化为 0,用于存储列表元素的总和。声明另一个变量,例如 average (avg),它将存储列表的平均值。

我们创建了 ArrayList 类的实例,并调用 add() 方法将元素添加到 List 中。for 循环遍历列表,在每次迭代中获取一个元素,并将其添加到 sum 变量中。

之后,我们通过将总和除以列表的大小(元素数量)来计算列表的平均值。

让我们在 Java 程序中实现上述方法。

AverageOfList.java

输出

The average of the List: 33

让我们看看相同的另一个逻辑。

FindAverageOfList.java

输出

The average of the List is: 55.0

使用 IntSummaryStatistics 类

IntSummaryStatistics 是一个属于 java.util 包的类。它实现了 IntStream 接口。该类专门用于处理流。它是一个状态对象,用于收集计数、最小值、最大值、总和平均值等统计信息。在以下 Java 程序中,我们使用了以下方法:

  • stream(): 该方法返回一个以该集合为源的顺序流
  • mapToInt(): 这是一个惰性的中间操作。这些操作在 Stream 实例上调用,一旦操作完成处理,它们就会输出一个 Stream 实例。
  • summaryStatistics(): 该方法返回一个 IntSummaryStatistics 对象,描述此流中元素的各种摘要数据,例如 IntStream 中元素的数量、IntStream 中所有元素的平均值、IntStream 中的最小和最大元素等。这是一个终止操作。这意味着它可能会遍历流以生成结果。
  • getAverage(): 该方法返回记录值的算术平均值,如果未记录任何值,则返回零。

CalculateAverageOfList.java

输出

The average of the List is: 58.166666666666664