Skip to main content
 首页 » 编程设计

求java Array和及平均数

2022年07月19日115lyhabc

求java Array和及平均数

本文介绍使用标准java循环和Stream api方式求java Array和及平均数。

数组元素求和

循环方式实现

为了求数组元素之和,我们可以简单迭代数组,并增加每个元素至累加变量,开始设置sum为0,然后依次累加:

public static int findSumWithoutUsingStream(int[] array) { 
    int sum = 0; 
    for (int value : array) { 
        sum += value; 
    } 
    return sum; 
}

流方式实现

可以使用流方式实现通用功能:

public static int findSumUsingStream(int[] array) { 
    return Arrays.stream(array).sum(); 
}

需要注意的是,sum()方法仅支持原始类型流。如果我们想使用包装类型Integer流,我们必须使用mapToInt方法转换至IntStream,然后我们可以使用sum方法:

public static int findSumUsingStream(Integer[] array) { 
    return Arrays.stream(array) 
      .mapToInt(Integer::intValue) 
      .sum(); 
}

数组元素求平均值

非流方式实现

已经知道如何求和,平均值就不难了。平均值=和/个数:

public static double findAverageWithoutUsingStream(int[] array) { 
    int sum = findSumWithoutUsingStream(array); 
    return (double) sum / array.length; 
}

注意:
1. 一个整数除以另一个整数,返回精确值,所以转换第一个整数为double。
2. java数组有length属性,其为数组元素个数。

流方式实现

public static double findAverageUsingStream(int[] array) { 
    return Arrays.stream(array).average().orElse(Double.NaN); 
}

IntStream.average方法返回OptionalDouble,可能不包含值,所以需要指定一个特定值。

总结

本文介绍两种方法针对数组元素求和及平均数。


本文参考链接:https://blog.csdn.net/neweastsun/article/details/79921352
阅读延展