关于arraylist的扩容机制
生活随笔
收集整理的這篇文章主要介紹了
关于arraylist的扩容机制
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
ArrayList會自動改變size的長度:
?首先,ArrayList定義了一個私有的未被序列化的數(shù)組elementData,用來存儲ArrayList的對象列表(注意只定義未初始):
private transient Object[] elementData;
? ??
? ?其次,以指定初始容量(Capacity)或把指定的Collection轉(zhuǎn)換為引用型數(shù)組后實例化elementData數(shù)組;如果沒有指定,則預(yù)置初始容量為10進行
實例化。把私有數(shù)組預(yù)先實例化,然后通過copyOf方法覆蓋原數(shù)組,是實現(xiàn)自動改變ArrayList的大小(size)的關(guān)鍵。
所以個人認(rèn)為ArrayList其實就是關(guān)于系統(tǒng)方法的組合。在我們追加對象時,先計算容量,如果不夠,用拷貝的方法對原有的數(shù)組變量進行賦值,指向新數(shù)組,同時size自增1。
轉(zhuǎn)載于:https://www.cnblogs.com/sfysuper/p/7678803.html
總結(jié)
以上是生活随笔為你收集整理的关于arraylist的扩容机制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TCP为什么要三次握手和四次挥手
- 下一篇: 反射笔记----------------