Мне нужно рекурсивно удалять элементы из списка, но даже при применении итератора к копии объекта, я получаю ошибку сопутствующей модификации.java итератор одновременной модификации даже с предосторожностями
List<Referee> referees=videogame.getGamers();
Iterator<Referee> iter= referees.iterator();
while(iter.hasNext()){
Referee ref= iter.next();
if(ref.getTheGameIsOver())
videogame.removeReferee(ref);
}
Что 'removeReferee' делать? Удаляет ли он из того же 'List', что' getGamers' возвращает и итерируется на 'iter'? –
Возможный дубликат [Вызов удаления в цикле foreach в Java] (http://stackoverflow.com/questions/1196586/calling-remove-in-foreach-loop-in-java) – Danielson
Или при использовании Java 8: 'видеоигры. getGamers() removeIf (судья :: getTheGameIsOver). '... – Holger