Java學習筆記之ArrayList

2021-09-05 11:38:46 字數 2215 閱讀 4717

arraylist實現了list介面。

1. 構造方法

public

arraylist()

2. 私有變數defaultcapacity_empty_elementdata
private

static

final object[

] defaultcapacity_empty_elementdata =

;

由此可見,arraylist實際就是乙個動態陣列,那麼arraylist就有動態陣列的所有特性。

3. add()

add方法主要實現了兩個功能,乙個是動態陣列擴容size+1,乙個是elementdata[size++] = e;

4. remove()

remove方法,for迴圈遍歷陣列,找到要remove的資料,呼叫system.arraycopy方法,把需要刪除的資料後面的所有資料向前挪動乙個位置,並把陣列中最後乙個物件置為null(交給gc處理),size-1,並返回true,表示處理完畢,否則返回false。

public e remove

(int index)

5. addall()

addall方法是把傳過來的集合整體新增到當前集合的末尾(如指定位置,則是插入該位置,該位置原資料向後移動)

6. clear()

for

(int i =

0; i < size; i++

)

elementdata[i]

= null;

size =

0;

所有資料置為null,並把size修改為0

7. clone()

arraylist<

?> v =

(arraylist<

?>

)super

.clone()

;v.elementdata = arrays.

copyof

(elementdata, size)

;v.modcount =0;

return v;

轉殖當前arraylist,之前有過這種需求,自己還是重新組合的,以後也可以呼叫arrays.copyof方法了

8. contains()、indexof()

該方法中遍歷整個陣列,並呼叫equals方法來進行比較,如果有相等的,返回下標,如果沒有相等的,返回-1

9. ensurecapacity()

增加容量到指定大小

10. get()

返回陣列指定位置的物件

11. isempty()

public

boolean

isempty()

如果陣列的大小為0,返回true,其他情況都是false

12. iterator()

public iterator

iterator()

該方法返回了乙個iterator物件,

13. lastindexof()

從陣列最後乙個元素開始向前遍歷,返回第乙個出現的索引,如果沒有返回-1

14. listiterator()

public listiterator

listiterator()

返回對應listitr物件,預設為0

15. retainall()

刪除指定集合外的所有資料,此方法的實現方法為:首先遍歷整個陣列,把包含的陣列放在前面,每次放置記錄次數w,並在最後把w之後的所有資料置為null(gc),如果調整後陣列長度沒有變,則返回false,如果調整之後陣列長度發生了改變,返回true。

16. set()

修改指定位置的物件,並返回修改前的物件

public e set

(int index, e element)

17. sublist()

返回指定範圍的資料,並保持和原資料的關聯性。呼叫此方法並不會影響原資料大小。

18. toarray()

把該集合轉化為陣列物件。

19. trimtosize()

如果size和elementdata.length不同的時候,根據size調整elementdata

java學習之 實現乙個簡單的ArrayList

package thread1 實現乙個簡單的arraylist title uminton public class arraylist 有引數構造,建立容器,設定陣列大小 param arraycapacity public arraylist integer arraycapacity arr...

Java學習筆記之JOptionPane

你喜歡看定影嗎?自定義詢問 intn joptionpane.showconfirmdialog this,你喜歡藍色嗎?詢問 joptionpane.yes no option intn joptionpane.showconfirmdialog this,你喜歡藍色嗎?詢問 joptionpan...

Java學習筆記之陣列

陣列 概念 同一種型別資料的集合,其實陣列就是乙個容器.陣列的好處 可以自動給陣列中的元素從0開始編號,方便操作這些元素.格式1 元素型別 陣列名 new 元素型別 元素個數 格式2 元素型別 陣列名 new 元素型別 記憶體的劃分 1 暫存器 2 本地方法區 3 方法區 4 棧記憶體 儲存的都是區...