Bootstrap

Java中出现的并发更改异常

并发更改异常,即在迭代的时候进行了一些不当操作,比如在迭代的时候增加,删除集合中的元素。就会触发并发更改异常,也就是:ConcurrentModificationException

避免:把操作放在迭代之前或者迭代之后即可避免。

package com.matter.exception;

import java.util.*;

/*
 * 并发更改异常ConcurrentModificationException
 */
public class BingFa {
    public static void main(String[] args) {

        list.add("zhangsan");
        list.add("");// 空白
        list.add(null);// null
        list.add("lisi");

        list.remove(1);// 可以在这里删除。
        System.out.println("迭代之前删除:" + list);

        Iterator ite = list.iterator();
        // list.remove(2);//不能在这里删除。

        System.out.println("-------");

        while (ite.hasNext()) {
            // list.remove(2);//更不能在这里删除。
            System.out.println(ite.next());
        }

        list.remove(1);// 也可以在这里删除。
        System.out.println("迭代之后删除:" + list);
    }
}
;