求java Array和及平均数

求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,可能不包含值,所以需要指定一个特定值。

总结

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

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值