Java集合系列(二)—— 列表迭代器ConcurrentModificationException异常

前言:这个异常是大部分人新接触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);
    }
}

猜你喜欢

转载自blog.csdn.net/u014158743/article/details/52629036