集合框架 - ArrayList的實現原理

一、基本特性

ArrayList是基於數組實現的,並且可以動態擴容。下面簡述一下ArrayList的特性:

(1)get和set操作性能很高,可以按索引獲取;

(2)在末尾add和remove的效率也很高,不需要移動元素;

(3)常規的add和remove性能不佳,視具體情況而定。

(4)動態擴容,和數組相比最大的優勢。

二、Add和Remove操作

在對ArrayList進行add操作時,當ArrayList的長度超出了其容量限制,系統會自動爲其增加50%的容量(動態擴容)。然後用System.arrayCopy()來移動部分受影響的元素。Remove操作也一樣,先刪除元素,然後用System.arrayCopy()來移動受影響的元素。

更多詳情參考鏈接:Java ArrayList工作原理及實現
發佈了31 篇原創文章 · 獲贊 19 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章