iterator.remove().
хорошо, однако, мой вопрос: если я хочу выполнить итерацию, для какого-то условия, чтобы удалить другой объект из массива List.
Пример (al arraylist)
for (Iterator i = al.iterator(); i.hasNext(); ){
IEvent event =(IEvent) i.next();
if (nbSendingWTS > 0 || nbSendingCTS > 0){
i.remove();
al.remove(swtsee);
al.remove(sdctsee);
System.out.println("dropping evtg");
}
Это дает мне ошибку: исключение в потоке "main" java.util.ConcurrentModificationException
Также нормальная итерация:
for(IEVEnt event:al){}
дает ошибку
Для большей ясности swtsee ad sdctsee взяты из предыдущих итераций массива и сохранены, чтобы я мог удалить, если у меня появилось новое условие.Так есть ли способ, когда я обнаруживаю их, чтобы сдвинуть их к более высоким индексам, а затем я использую обратную итерацию?
Что делать?