行业资讯 2025年08月6日
0 收藏 0 点赞 403 浏览 1217 个字
摘要 :

文章目录 1.求数组项的总和 2.求数组项的平均值 3.结论 学习如何找到存储在数组中的数字的总和和平均值。我们将使用Java Stream API和简单的for循环来找到这些值。 请……




学习如何找到存储在数组中的数字的总和和平均值。我们将使用Java Stream API和简单的for循环来找到这些值。

请注意,Java中的数字用8种原始类型表示,即short、char、byte、boolean、int、float、long和double。

  • 我们可以使用IntStream来处理short、char、byte、boolean和int值。
  • 我们可以使用LongStream来处理long值。
  • 我们使用DoubleStream来处理浮点数,如float和double。

当我们将原始数组传递给Arrays.stream()方法时,我们将获得IntStream、LongStream或DoubleStream中的一种类型的流。

在从数组获取流并使用适当的方法计算总和和平均值等聚合值时,上述信息是必要的。

1.求数组项的总和

有几种方法可以获取存储在数组中的数字的总和。

  • 使用long Stream.sum()
  • 使用long Stream.summaryStatistics().sum()
  • 使用for循环迭代项。

让我们看一下使用int[]和Integer[]数组类型的两种方法的示例。我们将根据从数组中获取流的类型,获取总和的long或double数据类型。

int[] intArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Integer[] integerArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//1
long sum = Arrays.stream(intArray).sum();
//2
long sum = Arrays.stream(integerArray).mapToInt(i -> i).sum();
//3
long sum = Arrays.stream(intArray).summaryStatistics().getSum();

如果我们想使用循环实现数组求和,可以按如下方式完成。

long sum = 0;
for (int value : intArray) {
  sum += value;
}
System.out.println(sum);

2.求数组项的平均值

计算平均值与在上一节中描述的计算总和非常相似。我们可以在sum()方法的位置调用stream.average()方法。

用于存储平均值的数据类型是double。

//1
double average = Arrays.stream(intArray).average().orElse(Double.NaN);
//2
double average = Arrays.stream(intArray).summaryStatistics().getAverage();

3.结论

在这个简短的教程中,我们学会了使用Stream API获取存储在数组中的数值的总和和平均值。使用Stream还有额外的好处,例如在Stream项目上应用filter而不影响原始数组。

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/9273.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号