java数组性能实例分析
这篇文章主要介绍了java数组性能实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java数组性能实例分析文章都会有所收获,下面我们一起来看看吧。
1、说明
数组和其他类型的容器有三个区别:效率、类型和保存基本类型的能力。在java中,数组是存储和随机访问对象引用序列的最有效的方式。数组在项目设计中的使用越来越少,不如List和set方便。但是数组在速度等方面还是有一些优势的,集合类的底层是通过数组实现的。
2、性能对比实例
下面利用数组和list用求和来做一下比较:
Long time1 = System.currentTimeMillis(); for(int i = 0 ; i < 100000000 ;i++){ sum += arrays[i%10]; } Long time2 = System.currentTimeMillis(); System.out.println("数组求和所花费时间:" + (time2 - time1) + "毫秒"); Long time3 = System.currentTimeMillis(); for (int i = 0; i < 100000000; i++) { sum += list.get(i%10); } Long time4 = System.currentTimeMillis(); System.out.println("List求和所花费时间:" + (time4 - time3) + "毫秒"); --------------Output: 数组求和所花费时间:696毫秒 List求和所花费时间:3498毫秒
从上面的时间消耗上面来说,数组对于基本类型的求和计算的速度是集合的5倍左右。其实在list集合中,求和当中有一个致命的动作:list.get(i)。这个动作是进行拆箱动作,Integer对象通过intValue方法自动转换成一个int基本类型,在这里就产生了不必要的性能消耗。
所以在性能要求较高的场景中请优先考虑数组!
java基本数据类型有哪些
Java的基本数据类型分为:
1、整数类型,用来表示整数的数据类型。
2、浮点类型,用来表示小数的数据类型。
3、字符类型,字符类型的关键字是“char”。
4、布尔类型,是表示逻辑值的基本数据类型。
关于“java数组性能实例分析”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“java数组性能实例分析”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注蜗牛博客行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。版权声明:如无特殊标注,文章均为本站原创,转载时请以链接形式注明文章出处。
评论