2014-11-13 35 views
-2

我必須從arraylist中取出一個元素,並將其移動到另一個元素。從arralist複製一個元素並將其添加到另一個

我想我可以通過從第一個ArrayList複製元素並將其添加到另一個,然後從第一個ArrayList中刪除它,但我不知道如何製作元素的副本。

+0

你試過了什麼?我沒有看到任何代碼。 – redFIVE

+0

我只是想出了創建引用的方法(即使它看起來很簡單,當看着aaaahWhoosh答案),所以我已經嘗試過並不重要,因爲它只是試圖猜測我是如何能做到這。 – pomelo

回答

0

我原以爲從ArrayList中移除將是困難的部分。無論如何,因爲這是Java中,你可以創建對象的引用要卸下:

Object i = list1.get(indexYouWant); 
list2.add(i); 

其中「對象」可以用任何你對象的類型進行更換。當你從第一個列表中'刪除'元素時,你可能只是刪除列表對元素的引用,而不是元素本身。由於該元素現在在第二個列表中引用,因此它可以安全地避免垃圾收集,並且應該在第二個列表中過上完美幸福的生活。

+0

第一個ArrayList類型是第二個ArrayList類型的超類。是否有可能強制副本成爲子類的一種類型? – pomelo

+0

只要你知道你正在複製的所有東西總是隱藏在超類中的子類,就可以使用轉換。例如,Subclass i =(Subclass)superclassObject; – DaaaahWhoosh

+0

Thx求救!確切地說,我需要:) – pomelo

相關問題