ConcurrentModificationExceptionTest
//Iterator迭代Collection的时候,不要用它们的API直接修改集合的内容,如果要修改可以用Iterator的remove()方法,例如:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ConcurrentModificationExceptionTest
{
public static void main(String[] args) {
List list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
for (Iterator it = list.iterator();
it.hasNext();) {
String str = (String) it.next();
if (str.equals("a")) {
// 在运行期会报java.util.
//ConcurrentModificationException
list.remove(str);
}
}
// for (Iterator it = list.iterator();
// it.hasNext();) {
// String str = (String) it.next();
// if (str.equals("a")) {
// // 正常
// it.remove();
// }
// }
}
}
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ConcurrentModificationExceptionTest
{
public static void main(String[] args) {
List list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
for (Iterator it = list.iterator();
it.hasNext();) {
String str = (String) it.next();
if (str.equals("a")) {
// 在运行期会报java.util.
//ConcurrentModificationException
list.remove(str);
}
}
// for (Iterator it = list.iterator();
// it.hasNext();) {
// String str = (String) it.next();
// if (str.equals("a")) {
// // 正常
// it.remove();
// }
// }
}
}
irini
2007-04-19 22:48:02
评论:0
阅读:38
引用:0
