У меня есть следующий код, который генерирует исключение ConcurrentModificationException. Может кто-нибудь объяснить, почему это происходит?
public void foo(ArrayList<Bet> bets)
Iterator it1 = bets.iterator();
while(it1.hasNext())
Bet b1 = (Bet) bets.next()
Iterator it2 = bets.iterator();
while(it2.hasNext())
if(bet1.equals(bet2))
it2.remove();
it1.remove(); //ConcurrentModificationException thrown here
Это тот случай, когда я могу вызывать iterator.remove() только один раз для каждого вызова iterator.next(), и этот вызов remove дважды перед следующим вызовом iterator.next() вызывает это?
Любая помощь будет большим спасибо.