前言:这个异常是大部分人新接触Iterator的时候都会看过,网上相应处理的资料也很多了。
原文出处:http://blog.csdn.net/u014158743/article/details/52629036
import java.util.*;
class Demo
{
public static void main(String[] args)
{
//dieDai();
dieDai2();
}
public static void dieDai2()
{
List list = new ArrayList();
list.add("java01");
list.add("java02");
list.add("java03");
ListIterator ite = list.listIterator();
while(ite.hasNext())
{
Object obj = ite.next();
if("java01".equals(obj))
//ite.add("java04");
//ite.remove();
ite.set("java04");
}
sop(list);
}
public static void dieDai()
{
List list = new ArrayList();
list.add("java01");
list.add("java02");
list.add("java03");
ite = list.iterator();
while(ite.hasNext())
{
Object obj = ite.next();
if("java03".equals(obj))
//在遍历集合的过程中使用集合对集合中的对象进行添加,删除,修改会发生ConcurrentModificationException异常
//list.remove("java03");//ConcurrentModificationException
ite.remove();
}
sop(list);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}