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