私は2人のarraylistsを持っています。AndroidのArrayListからオブジェクトを削除する
List<MyObject> firstList (Size=5)
List<MyObject> secondList = firstList;
私はfirstListで0の位置に
secondList.remove(0);
オブジェクトを、このコマンドを使用しても削除取得されます。 ここで何が間違っていますか?
私は2人のarraylistsを持っています。AndroidのArrayListからオブジェクトを削除する
List<MyObject> firstList (Size=5)
List<MyObject> secondList = firstList;
私はfirstListで0の位置に
secondList.remove(0);
オブジェクトを、このコマンドを使用しても削除取得されます。 ここで何が間違っていますか?
問題を解決する2行目のみを変更してください。
List<MyObject> firstList (Size=5)
List<MyObject> secondList = new ArrayList<>(firstList);
secondList.remove(0);
問題が発生したのは、リストのリストSecondList = firstListです。
単一のオブジェクトへのリストポイントの代わりに別のオブジェクトを作成することはありません。
。それはそれだった。 – Anirudh
問題はそれだけで最初に作成したリストを参照し、あなたのラインList<MyObject> secondList = firstList;
このdoesntの別のリストを作成しています。別のリストをインスタンス化する必要があります。
その正しいsecondList
がfirstList
の参照を持っているので、あなたが次のコード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`
ショー完全なコードしてくださいを。ビンゴ。 – Amy