Humanオブジェクトで構成されたリストを保持するCountryクラスがあります。カントリークラスでは、次のような機能があります。リストを反復処理中にConcurrentModificationExceptionを回避する方法
public void processOneDay(int day, List<Country> countryList, int numberOfCountries){
ListIterator<Human> iter = people.listIterator();
while(iter.hasNext()){
Human h = iter.next();
h.move(day, countryList, numberOfCountries);
}
}
人間クラスの移動()メソッドは、他の1つの国からのヒトの移動のための責任があるが、この方法は、ソースの国の人のリストからその人を削除し、目的地の国の人々のリストに追加されます。したがって、反復処理中にこの操作を実行すると、ConcurrentModificationExceptionが発生します。イテレーター自体のremove関数を使用しようとしましたが、もっと混乱しました。だから、どうやってこの状況に対処できますか?