ArrayList底層的實現原理

worshipone發表於2024-05-15

ArrayList底層是用動態的陣列實現的。
ArrayList初始容量為0,當第一次新增資料的時候才會初始化容量為10。
ArrayList在進行擴容的時候是原來容量的1.5倍,每次擴容都需要複製陣列。
ArrayList在新增資料的時候:

  • 確保陣列已使用長度(size)加1之後足夠存下下一個資料。
  • 計算陣列的容量,如果當前陣列已使用長度+1後的大於當前的陣列長度,則呼叫grow方法擴容(原來的1.5倍)
  • 確保新增的資料有地方儲存之後,則將新元素新增到位於size的位置上。
  • 返回新增成功布林值。

相關文章