在實際開發中,我們常常使用到集合。平時都是任意為之,後來看了很多集合相關的資料,發現對集合僅是了解皮毛,遂細心學習,慢慢積累吧!
一對於已知的情景,請為集合指定初始容量
看過集合新增的相關原始碼,在進行集合的新增操作時,arraylist每次新增乙個元素,就會檢測arraylist的當前容量是否已經到達臨界點,如果到達臨界點則會擴容1.5倍。然而arraylist的擴容以及陣列的拷貝生成新的陣列是相當耗資源的。所以若我們事先已知集合的使用場景,知道集合的大概範圍,我們最好是指定初始化容量,這樣對資源的利用會更加好,尤其是大資料量的前提下,效率的提公升和資源的利用會顯得更加具有優勢。
二在使用aslist時不要將基本資料型別當做引數
舉例說明,int numbers=;
list list =arrays.aslist(numbers);當我們輸出list.size()時會發現其長度為1.不滿足我們想要的結果。
而替換成integer numbers=;
list list = arrays.aslist(numbers);再次輸出list.size()時,會發現其結果為5.
三 aslist返回的列表是乙個長度不可變的列表,傳入引數的陣列有多長,其返回的列表就只能是多長,不能執行新增操作
Java陣列 集合效能優化
1 複製陣列元素,使用system類arraycopy 方法替代迴圈賦值在陣列之間複製元素 建議 system類arraycopy 方法複製陣列元素 杜絕 迴圈賦值複製陣列元素 原因 system類arraycopy 方法呼叫作業系統更底層函式,效率更高。注 通過實測,在元素數量達到億級別,兩者都在...
Java陣列 集合效能優化
1 複製陣列元素,使用system類arraycopy 方法替代迴圈賦值在陣列之間複製元素 建議 system類arraycopy 方法複製陣列元素 杜絕 迴圈賦值複製陣列元素 原因 system類arraycopy 方法呼叫作業系統更底層函式,效率更高。注 通過實測,在元素數量達到億級別,兩者都在...
Java集合 Map集合
map map 用於儲存具有對映關係的資料,因此 map 集合裡儲存著兩組值,一組值用於儲存 map 裡的 key,另外一組用於儲存 map 裡的 value map 中的 key 和 value 都可以是任何引用型別的資料 map 中的 key 不允許重複,即同乙個 map 物件的任何兩個 key...