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...