0

ArrayListを次のようにコピーしました。

MyList2 = MyList1;

MyList2のオブジェクトをMyList1が持っているオブジェクトと一緒にロードしようとしています。

MyList2を反復処理するときに、いくつかのオブジェクトをit.remove()しますが、これにより、MyList1を介した親の反復で他の場所で同時変更例外が発生します。it.remove()を実行すると、実際には元のArrayListからも削除されると思いますが、MyList2からのみ削除するにはどうすればよいですか?ありがとう。

4

1 に答える 1

3

問題は、のコピーを作成していないことですArrayList。同じオブジェクトへの参照が2つあります。リストをコピーしたい場合は、

Collections.copy(MyList2,MyList1);

また

MyList2 = new ArrayList(MyList1);
于 2011-09-25T01:52:53.907 に答える