2016-03-22 13 views
-3

私は2人のarraylistsを持っています。AndroidのArrayListからオブジェクトを削除する

List<MyObject> firstList (Size=5) 
List<MyObject> secondList = firstList; 

私はfirstListで0の位置に

secondList.remove(0); 

オブジェクトを、このコマンドを使用しても削除取得されます。 ここで何が間違っていますか?

+0

ショー完全なコードしてくださいを。ビンゴ。 – Amy

答えて

5

問題を解決する2行目のみを変更してください。

List<MyObject> firstList (Size=5) 
List<MyObject> secondList = new ArrayList<>(firstList); 


secondList.remove(0); 

問題が発生したのは、リストのリストSecondList = firstListです。

単一のオブジェクトへのリストポイントの代わりに別のオブジェクトを作成することはありません。

+0

。それはそれだった。 – Anirudh

0

問題はそれだけで最初に作成したリストを参照し、あなたのラインList<MyObject> secondList = firstList;

このdoesntの別のリストを作成しています。別のリストをインスタンス化する必要があります。

0

その正しいsecondListfirstListの参照を持っているので、あなたが次のコードfirstList

使用から削除するようにその同じ要素フォームsecondList削除する場合:

//create new arraylist which contains item of firstList list 
List<MyObject> secondList = new ArrayList(firstList); 
secondList.remove(0);//now it will only remove element from `secondList` 
関連する問題