Если у нас есть 2 способа перебирать:Итерация через сбор. Каковы различия?
Первое:
Object ob;
ArrayList<Obect> list;
for(int i=0;i<list.size();i++)
{ //Todo}
Второе:
Object ob;
ArrayList<Obect> list;
for(Object o:list)
{ //Todo}
Так каковы различия? Я обнаружил, что во втором случае, если попытаться удалить объект в этом цикле, я получаю исключение параллельной модификации.
Посмотрите на [документы] (http://docs.oracle.com/javase/tutorial /java/nutsandbolts/for.html) для получения дополнительной информации. –
Первый случай обычно не является хорошим выбором для удаления объекта. Рассмотрим, что происходит, когда вы удаляете объект по текущему индексу, остальным элементам в списке и индексу цикла. –