Java數組擴容:ArrayList自動擴容原理,初學者必知

ArrayList是Java動態數組,解決了普通數組長度固定的問題。其核心是自動擴容:當添加元素時,若當前元素數量(size)等於內部數組(elementData)長度,觸發擴容。 擴容過程:計算最小容量(size+1),新容量首次爲10(無參構造默認),其他情況爲原容量1.5倍(如10→15,15→22),然後複製原元素到新數組。 擴容因子設爲1.5倍,平衡了頻繁擴容的性能損耗與內存浪費。理解原理可避免數組越界,提前預估元素數量並設置初始容量(如`new ArrayList(100)`)能減少擴容次數,提升效率。需注意:擴容需複製數組,並非無限大。

閱讀全文