Во время итерации списка, если вы хотите удалить элемент, это возможно. Давай посмотрим ниже мои примеры,
ArrayList<String> names = new ArrayList<String>();
names.add("abc");
names.add("def");
names.add("ghi");
names.add("xyz");
У меня есть вышеприведенные имена списка Array. И я хочу удалить имя «def» из списка выше,
for(String name : names){
if(name.equals("def")){
names.remove("def");
}
}
Приведенный выше код вызывает исключение ConcurrentModificationException , поскольку вы изменяете список во время итерации.
Итак, чтобы удалить имя "def" из Arraylist, выполнив следующие действия,
Iterator<String> itr = names.iterator();
while(itr.hasNext()){
String name = itr.next();
if(name.equals("def")){
itr.remove();
}
}
Приведенный выше код, через итератор мы можем удалить имя "def" из Arraylist и попытаться напечатать массив, вы увидите вывод ниже.
Вывод: [abc, ghi, xyz]