黑马程序员技术交流社区

标题: 迭代过程中使用list的删除方法竟然没有报并发修改异常,诡异 [打印本页]

作者: 笑对明天    时间: 2017-3-2 18:37
标题: 迭代过程中使用list的删除方法竟然没有报并发修改异常,诡异
public class demo_1 {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                LinkedList<String> list = new LinkedList<String>();
                list.add("a1");
                list.add("a2");
                list.add("a3");
                list.add("a4");
                ListIterator<String> it = list.listIterator();
                while (it.hasNext()) {
                        String string = (String) it.next();
                        if (string.equals("a3")) {
                                list.remove(string);        //这里不报并发修改异常,好诡异
                                //it.remove();
                        }
                }
                for (String string : list) {
                        System.out.println(string);
                }
        }

}


11111.png (153.91 KB, 下载次数: 29)

并发修改异常

并发修改异常

作者: 笑对明天    时间: 2017-3-2 18:39
求大神给解释




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2