黑马程序员技术交流社区

标题: question:break与迭代器遍历集合出现并发修改异常 [打印本页]

作者: ash午夜阳光    时间: 2015-11-7 17:55
标题: question:break与迭代器遍历集合出现并发修改异常
求解释,为什么加了break,异常就不出现了
package day15;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

public class Addjavaee {
        public static void main(String[] args) {
                List list = new ArrayList();
                for (int i = 0; i < 6; i++) {
                        if (i % 3 == 0)
                                list.add("hello");
                        else if (i % 3 == 1)
                                list.add("world");
                        else
                                list.add("java");
                }
                /*
                 * for (int i = 0; i < list.size(); i++) { if ("world".equals((String)
                 * list.get(i))) { list.add("javaee"); break; } }
                 */
                for (Iterator iterator = list.iterator(); iterator.hasNext();) {
                        String s = (String) iterator.next();
                        if ("world".equals(s)) {
                                list.add("javaee");// 遍历的同时增加元素叫并发修改
                                // break;/*******************有break则不会出现异常************/
                        }
                }

                for (ListIterator iterator = list.listIterator(); iterator.hasNext();) {
                        System.out.println(iterator.next());
                }
        }

}





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