資料結構 ArrayList

2021-08-25 16:53:44 字數 761 閱讀 6313

從arraylist原始碼對其原理總結:

1.集合與陣列的區別

2.arraylist屬性

①default_capacity :int   預設容量大小為10;

②empty_elementdata : object 值={},為空陣列的例項;

③defaultcapacity_empty_elementdata : object 值={},預設大小的為空陣列的例項;

④size : int 私有屬性,表示集合大小,與size()方法不同,我們通常使用size()方法;

⑤max_array_size : int 值= 2^31-1-8 ,最大陣列分配值(2^31-1是int最大值)

⑥elementdata : object 儲存陣列;

⑦其他繼承屬性:modcount:修改的次數

3.arraylist方法

①如果o為null,迴圈陣列中是否有null,是返回下標,否則返回-1,最後與0比較大小返回boolean;

②如果o不為null,迴圈陣列中是否存在該物件;

使用equals方法判斷(父類引用子類物件, 會呼叫子類的equals方法,如果子類未重寫equals方法,則預設object中的方法,只比較物件的引用,即=),

相等則返回下標,否則返回-1,最後與0比較大小返回boolean;

4.使用場景

java資料結構之ArrayList

arraylist 優點 1 根據下標遍歷元素效率較高。2 根據下標訪問元素效率較高。3 在陣列的基礎上封裝了對元素操作的方法。4 可以自動擴容。缺點 1 插入和刪除的效率比較低。2 根據內容查詢元素的效率較低。arraylist的底層儲存實現就是乙個乙個object陣列,並且可以自動擴容,初始容量...

資料結構與演算法分析 ArrayList

class myarraylist implements iterable 將陣列大小變為0 private void doclear public void clear 集合容量 public intsize 判斷集合是否為空 public boolean isempty 確保集合容量足夠 sup...

筆記 C 資料結構 動態陣列 ArrayList

返回 船塢 動態陣列 雙桅帆船 arraylist 公升級版 陣列 特徵 不限制元素數量和資料型別 非泛型列表 運輸 任意object型別的成員 售船商 我來為您介紹一下單桅 array 和雙桅 arraylist 的區別!單桅 array 雙桅 arraylist 不可改造 容量大小固定 任意改造...