黑马网友
发表于 2011-9-19 22:15:27
沙发
增强for循环是1.5JDK的新特性,使用的也是跌代
为了确保迭代的顺利推进,必须符合的条件是被迭代的对象的结构不变
原因就是list在调用remove方法的时候list结构被改变了.
正确的做法如下:
Iterator<String> i=list.iterator();
while(i.hasNext()){
String s=i.next();
if(s.equals("1")){
i.remove();
}else{
System.out.println(s);
}
}
也就是创建一个迭代器,使用迭代器内置的remove方法 |
|