天天看點

ArrayList源碼+擴容機制分析

ArrayList源碼+擴容機制分析

學習來自:

https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/collection/ArrayList源碼+擴容機制分析.md

十分感謝!!

ArrayList簡介

ArrayList源碼+擴容機制分析

Arraylist 和 Vector 的差別?

ArrayList源碼+擴容機制分析

Arraylist 與 LinkedList 差別?

ArrayList源碼+擴容機制分析

小總結:

1.都沒有保證線程安全

2.ArrayList底層使用Object數組,LinkedList底層使用雙向連結清單 是以後續兩者的特點 不同點其實就是數組連結清單的特點不同點

ArrayList 核心源碼解讀

太長了! 具體可去上面連接配接看 就不貼自己部落格裡了

一步一步分析 ArrayList 擴容機制

ArrayList源碼+擴容機制分析
ArrayList源碼+擴容機制分析
ArrayList源碼+擴容機制分析

grow方法 擴容背後的算法

ArrayList源碼+擴容機制分析

System.arraycopy() 和 Arrays.copyOf()方法

ensureCapacity方法

通過源碼分析 最後可以得知如果我們需要大量的添加資料的話 就最好使用該方法提高性能