扫码阅读
手机扫码阅读
Java计算数组平均值--最后放大招
69 2024-04-11
今天继续Groovy
放大招系列文章,本期的主题是求array
的平均值。
一般的方案就是求和然后计算平均值,求和的话可以用for
循环或者Lambda
语法。
for循环
首先创建一个带有值的数组,在for
循环查找数组中的所有元素的总和,然后将总和除以数组的长度即可得到数字的平均值。
package com.fun.ztest.java; import com.fun.frame.SourceCode; public class Tdd extends SourceCode { public static void main(String[] args) { int[] array = {43, 54, 6, 2, 75, 34, 1}; int sum = 0; for (int i = 0; i < array.length; i++) { sum += array[i]; } output(sum * 1.0 / array.length);
}
}
控制台输出:
INFO-> 当前用户:fv,IP:10.60.192.21,工作目录:/Users/fv/Documents/workspace/fun/,系统编码格式:UTF-8,系统Mac OS X版本:10.15.7 INFO-> 30.714285714285715 Process finished with exit code 0
lambda写法
下面展示Java
的Lambda
语法完成求平均值。
package com.fun.ztest.java; import com.fun.frame.SourceCode; import org.apache.commons.lang3.ArrayUtils; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Tdd extends SourceCode { public static void main(String[] args) { int[] array = {43, 54, 6, 2, 75, 34, 1};
List integers = Arrays.asList(ArrayUtils.toObject(array));
Integer collect = integers.stream().collect(Collectors.summingInt(x -> x));
output(collect * 1.0 / array.length);
}
}
控制台输出:
INFO-> 当前用户:fv,IP:10.60.192.21,工作目录:/Users/fv/Documents/workspace/fun/,系统编码格式:UTF-8,系统Mac OS X版本:10.15.7 INFO-> 30.714285714285715 Process finished with exit code 0
Groovy放大招
下面就是见证奇迹的时刻。
package com.fun.ztest.groovy import com.fun.frame.httpclient.FanLibrary import org.slf4j.Logger import org.slf4j.LoggerFactory class Td extends FanLibrary { private static Logger logger = LoggerFactory.getLogger(Td.class) public static void main(String[] args) { def array = [43, 54, 6, 2, 75, 34, 1];
output(array.sum() / array.size())
}
}
控制台输出:
INFO-> 当前用户:fv,IP:10.60.192.21,工作目录:/Users/fv/Documents/workspace/fun/,系统编码格式:UTF-8,系统Mac OS X版本:10.15.7 INFO-> 30.7142857143 Process finished with exit code 0
原文链接:
https://mp.weixin.qq.com/s?__biz=MzU4MTE2NDEyMQ==&mid=2247488612&idx=1&sn=a037a1984122343a8b603d4ea1a9abdf
FunTester的其他文章
连续测试策略
尽管这些公司花费大量时间和金钱来改变他们的开发流程(敏捷开发),但是仅仅通过选择一些自动化工具,写一些自动化项目,根本无法实现「PPT」上描述的的「没好愿景」。
Java 序列化10倍性能优化对比测试
今天分享 Java 对象序列化的不同方法,并对不同序列化方式的性能进行基准测试。
Java求数组的并集--最后放大招
本文将分享一下如何在Java中获得两个数组的并集,包含两个数组中的所有不同元素。
十大开源测试工具和框架
免费的开源框架和工具由于其开源特性,现在逐渐成为自动化测试的首选解决方案。
Selenium异常集锦
当测试工程师执行Selenium测试自动化用例时,可能会遇到很多陌生的Exception。
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线