«

java数组性能实例代码分析

时间:2024-5-14 09:43     作者:韩俊     分类: 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

热门推荐