ArrayList 是 Java 中一個動態數組數據結構,它實現了 List 接口。ArrayList 的內部結構主要包括以下幾個部分:
Object[] elementData:這是一個 Object 類型的數組,用于存儲列表中的元素。ArrayList 的元素可以是任何類型的對象,因為 Object 是 Java 中的基類。
int size:這是一個整數,表示 ArrayList 中當前存儲的元素數量。當向 ArrayList 添加元素時,size 會相應地增加;當從 ArrayList 刪除元素時,size 會相應地減少。
int capacity:這是一個整數,表示 ArrayList 的容量,即底層數組可以容納的最大元素數量。當 ArrayList 的大小達到容量時,它會自動擴容。默認情況下,ArrayList 的容量為 10。
ArrayList 的主要操作包括添加、刪除、獲取和設置元素,以及遍歷列表等。以下是一些常用的方法:
ArrayList 的內部結構使得它在隨機訪問元素時具有很好的性能(時間復雜度為 O(1)),但在插入和刪除元素時可能需要進行數組擴容和元素移動(時間復雜度為 O(n))。為了提高性能,ArrayList 在擴容時會創建一個新的數組,并將原數組中的元素復制到新數組中。