使用java获取数组最大最小值,可以采用两种方法。一种是对数组排序,排序后的数组第一位和最后一位即为最小值和最大值。另外一种方法是假定第一个数为最大或最小值,与其余数依次比较,遍历数组后即可得到最大或最小值。

第一种方法:使用java.util.Arrays工具对数组排序。

int[] arr = new int[] {2,5,1,9,8,6,4};
Arrays.sort(arr);
Min = arr[0]
Max = arr[arr.length - 1]);

第二种方法:

获取最大值

public static int getMax(int[] arr) {int max = arr[0];for(int i = 1;i < arr.length; i++) {if (max < arr[i]) {max = arr[i];}}return max;}

获取最小值

public static int getMin(int[] arr) {int min= arr[0];for(int i = 1;i < arr.length; i++) {if (min> arr[i]) {min= arr[i];}}return min;}

两种方法的优劣:第一种方法由于事先对数组排序,排序后的数组可以同时获取最大最小值,由于使用了java数组工具,代码量更少。第二种方法更为直接,计算量更小,最大值和最小值的计算代码简单,只需要改动循环内的判断符号。两种方法各有优劣,当数组较小且需要同时获取最大最小值时,第一种方法更好。当数组较大时,使用第二种方法显然可以减少计算量,有更好的响应速度。

测试:使用随机数生成一个大小为10000000的数组,通过获取数组最大值来比较两种方法的计算耗时。

public static void main(String[] args) {//生成大小为10000000的随机数组int length = 10000000;int[] arr = new int[length];Random random = new Random();for (int i = 0; i < length; i++) {arr[i] = random.nextInt(length);}//第一种方法long time1 = System.nanoTime();Arrays.sort(arr);System.out.println("最大值:" + arr[arr.length - 1]);long time2 = System.nanoTime();System.out.println("用时:" + (time2 - time1) + "纳秒");//第二种方法int max = getMax(arr);System.out.println("最大值:" + max);long time3 = System.nanoTime();System.out.println("用时:" + (time3 - time2) + "纳秒");}

运行结果:

对同一个数组进行计算。第一种方法计算需要消耗1331255400纳秒,也就是1.3秒左右。第二种方法耗时9589100纳秒,也就是9.5毫秒。两者速度相差也是非常大的,所以计算大型数组最大最小值还是推荐使用更为高效的第二种方法。

java获取数组最大最小值相关推荐

  1. java获取数组的最小值_Java 数组获取最大和最小值的实例实现

    以下实例演示了如何通过 Collections 类的 Collections.max() 和 Collections.min() 方法来查找数组中的最大和最小值: Main.java 文件: impo ...

  2. java获取数组穷举_被BAT疯抢的Java工程师,都是怎么拿到年薪50W的offer

    怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名遭到BAT疯抢的架构师. 那么遭到BAT疯抢的架构师应该有怎样的技术知识体系,这不仅是一个刚刚踏入职场的初级程序员也是工作三五年之 ...

  3. 6 获取数组中最小值_C语言每日一练8——数组中最大值和最小值

    题目: 利用指针函数,求某数组中的最大值和最小值. 实现代码: /* ================================================================= ...

  4. java求数组的最小值_JAVA编程求数组最大值和最小值

    错在最后两段代码是相同的,写了两个"max",就会得到最大值与最小值是一样的结果. 只需要把最后一个"max"改为"min"就可以了,改了之 ...

  5. JAVA求数组最大值最小值总和均值

    定义一个int型的一维数组,包含10个元素,分别赋一些随机数(两位数字) 求出所有元素的最大值最小值总和均值 public class MaxMinSumMean {public static voi ...

  6. java获取数组穷举_请教一下两个数组各取一个元素生成新的数组的穷举算法设计?...

    题目描述 比如第一组数是:A B C D E 第二组是:1 2 3 4 两组数不一定是对称的,第一组数量比第二组可能多也可能少也可能相同,输出结果举例如下:A1 B2 C3 D4 (只组合不排序),要 ...

  7. java获取数组穷举_递归算法求解遍历(或穷举)问题

    递归算法求解遍历(或穷举)问题 递归问题可以理解为遍历问题,必须遍历出所有的数据来,才能进行相应的运算,比如Fibonacci问题.阶乘问题,必须把每一步的值都遍历出来,然后才能做加法或乘法. 递归算 ...

  8. php 获取数组最小值,php 获取数组中最小的值与键名的方法

    上一篇博文说的是php获取数组中最大的值与键名的方法,那么这篇博文就说一下php获取数组中最小的值与键名的方法.获取数组中最小的值可以使用php中的预设函数 min() ,其使用方法也非常的简单. p ...

  9. c++获取数组长度_灵魂拷问:Java如何获取数组和字符串的长度?length还是length()?...

    限时 1 秒钟给出答案,来来来,听我口令:"Java 如何获取数组和字符串的长度?length 还是 length()?" 在逛 programcreek 的时候,我发现了上面这个 ...

最新文章

  1. Scrapyd部署Scrapy框架项目
  2. 阿里云高可用架构之“CDN+WAF+SLB+ECS
  3. [LeetCode]题解(python):076-Minimum Window Substring
  4. 一个程序猿如何自学双截棍,避免各种编程职业病的发生?
  5. python函数代码_如何显示Python函数的代码?
  6. PHP遍历文件夹下所有文件
  7. Destroying The Graph 最小点权集--最小割--最大流
  8. python练手经典100例-Python入门练手100例
  9. android电子书控件,Android控件大全.pdf
  10. Android客户端获取服务器的json数据(二)
  11. Codeforces Round #829 (Div. 2) C1. Make Nonzero Sum (easy version) 解题报告
  12. 做scratch游戏心得1
  13. a4的尺寸大小转换为像素
  14. 直播 编解码、 协议、网络传输
  15. 门户网站开发价格一般需要多少钱?
  16. shell脚本ping检测服务器连通性
  17. 可由线性表示且表达式唯一_一个向量能由另一个向量组线性表示,且表示式唯一的等价条件是什么?...
  18. 短视频查重机制及去重方法
  19. win7笔记本外接显示器html,详解笔记本电脑连接外部显示器的操作流程
  20. 澳大利亚麦考瑞大学计算机学院王岩教授招2023年入学博士研究生和双学位博士生

热门文章

  1. spark submit 运行的时候增加ack命令
  2. 04.full_text match查询
  3. 洛谷——P1781 宇宙总统
  4. Leecode15. 三数之和——Leecode大厂热题100道系列
  5. GC算法以及垃圾回收器
  6. gmod的css模块放哪,gmod模式怎么更换?gmod模块安装步骤教程
  7. lr分析器的设计与实现实验报告_《计算机导论》课程实验报告(一维数组)
  8. Java 枚举7常见种用法
  9. word2vec模型评估_【新书】从Word2Vec到BERT的自然语言处理嵌入进展,附下载
  10. oracle shell 登录,linux 本地账号密码无法登陆(shell可以登录),一直返回 登陆的login界面...