從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 不可改造 容量大小固定 任意改造...