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的基本資料型別分為:
1、整數型,用來表示整數的資料型別。
2、浮點型,用來表示小數的資料型別。
3、字元類型,字元類型的關鍵字是「char」。
4、布林類型,是表示邏輯值的基本資料型別。
以上是java數組效能實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!