import java.util;
class Driver{
public static void main(String[] args) {
ArrayList<String> lstStr = new ArrayList<String>();
lsstStr.add("A");
lsstStr.add("B");
lsstStr.add("C");
for(Iterator<String> it = lstStr.Iterator(); it.hasNext();)
{
str = it.next();
if(str.equals("B")){lstStr.remove(str);}
}
for(Iterator<String> it = lstStr.Iterator(); it.hasNext();)
{
System.out.println(it.next());
}
}
}
Это не удаляет из списка «B». Почему Str не равна «B», когда цикл работает второй раз. Почему?Не удалось удалить из ArrayList
Ваш код в настоящее время не компилируется, поэтому он ничего не покажет. Пожалуйста, дайте пример, который компилируется, во-первых. Вы явно не используете код, который вы разместили, поэтому мы не знаем, какой код на самом деле * работает. –
Этот код приведет к исключению параллельной модификации, так как итератор станет непригодным после удаления элемента из коллекции. Вы не говорите нам об этом, возможно, вы даже не пробовали. – h22