關於ArrayList的天坑

2021-09-28 21:37:29 字數 557 閱讀 7051

arraylist中的每乙個元素儲存的實際上是物件引用(之前在公司寫**的時候,做過類似下面的事),假如按照下面的方式使用arraylist,則最後list中儲存的元素都相同且都是最後乙個元素,原因是list中所有的元素都指向同一塊記憶體。

@test

public

void

test1()

system.out.

println

(list)

;}

列印結果:

[person

, person

, person

, person

, person

, person

, person

, person

, person

, person

]

所以,如果我們想要往arraylist中新增物件元素,那麼這些物件元素不能指向同一塊記憶體,必須各自指向一塊記憶體,既在for迴圈裡面new物件。

ArrayList採坑記錄

索引內的值變了,但是索引不會變。先建立乙個物件 class carpublic car string wheelsname,string carname public car public string getwheelsname public void setwheelsname string w...

關於arraylist的擴容機制

arraylist會自動改變size的長度 首先,arraylist定義了乙個私有的未被序列化的陣列elementdata,用來儲存arraylist的物件列表 注意只定義未初始 private transient object elementdata 其次,以指定初始容量 capacity 或把指...

ArrayList的remove的乙個坑

大家知道下面的 輸出結果是什麼嘛?public static void main string args system.out.println set listint listinteger for int i 0 i 3 i for integer i 0 i 3 i system.out.pri...