我試過編寫代碼,刪除Arraylist中的所有元素而不使用clear()和remove()。或不管從類ArrayList中如何從Arraylist中刪除元素而不使用clear()或其他方法?
看看我的代碼:
for (int i=0 ; i<a.size(); i++)
a.get(i) =null ;
,但我有一個錯誤:
賦值的左邊必須是一個變量
什麼想法?
我試過編寫代碼,刪除Arraylist中的所有元素而不使用clear()和remove()。或不管從類ArrayList中如何從Arraylist中刪除元素而不使用clear()或其他方法?
看看我的代碼:
for (int i=0 ; i<a.size(); i++)
a.get(i) =null ;
,但我有一個錯誤:
賦值的左邊必須是一個變量
什麼想法?
a.get()將返回一個值而非參考保留者即「=」運算符的左側操作數應該是某個變量,它可以保存由等號運算符的右側表達式給出的結果。
內部ArrayList將在其實現中具有每個元素,並且不使用Collection的Arraylist API,即remove()
或clear()
,您將無法刪除其任何項目。
首先,將它設置爲null不會刪除元素。相反,它只會將其設置爲值爲null的元素。
如果你想刪除元素,你應該使用。或者清楚,所有這些。
如果你想將它們設置爲空,使用a.set(i, null)
僅供參考:但如果我們使用'a.set(i,null)',arrayList的大小將不會改變,因爲數組將用空值替換原始值。 – rajuGT
因此,限定詞「如果您希望將它們設置爲空」,作爲第一段的後續和第二段的替代(這是要刪除元素的情況)。在我的回答中我清楚這一點。 – JArkinstall
即使Java的有一個索引語法,你都將只設置'null'在該列表中的位置提示。這與「刪除」不一樣。 –
如果列表具有「清除」方法,那是有原因的。按照原樣學習並使用它的方法,或根本不使用該類 – Dici