首頁 >Java >java教程 >java數組效能實例分析

java數組效能實例分析

WBOY
WBOY轉載
2023-05-03 16:46:071082瀏覽

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數組效能實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除