ArryList的擴容機制

2021-08-01 02:41:23 字數 382 閱讀 2316

arrylist集合的預設容量是   10   每次都是1.5倍+1的擴容量

如果資料量比較大

如果新增的資料量比較龐大 就要進行多次擴容

所以在建立集合的時候適當指定集合的預設容量的大小 有利於提高效率  不用進行多次的擴容 

例1:比如,乙個可能有200個元素的資料動態新增到乙個以預設16個元素大小建立的arraylist中,將會經過:

16*2*2*2*2 = 256

四次的擴容才會滿足最終的要求,那麼如果一開始就以:

arraylist list = new arraylist( 210 );

的方式建立arraylist,不僅會減少4次數組建立和copy的操作,還會減少記憶體使用。

hashmap的擴容機制

ArrayList的擴容機制

arraylist的底層資料結構是動態陣列 capacity相當於初始化陣列的大小 size就相當於陣列的實際長度 default initial capacity.private static final int default capacity 10 檢視原始碼可以發現,預設容量是10。但是當我...

ArrayList的擴容機制

arraylist的擴容機制 當向arraylist中新增元素的時候,arraylist的儲存容量如果滿足新元素的容量要求,則直接儲存 arraylist的儲存容量如果不滿足新元素的容量要求,arraylist會增強自身的儲存能力,以達到儲存新元素的要求。因為不同的jdk版本的擴容機制可能有差異,下...

hashMap擴容機制

擴容時空間大小變化 hashmap中,雜湊桶陣列table的長度length大小必須為2的n次方 一定是合數 這是一種非常規的設計,常規的設計是把桶的大小設計為素數。相對來說素數導致衝突的概率要小於合數,具體證明可以參考 hashtable初始化桶大小為11,就是桶大小設計為素數的應用 hashta...