黑马程序员技术交流社区

标题: 请教,看代码,下面错在哪里了? [打印本页]

作者: 一江夜雨    时间: 2015-11-23 23:31
标题: 请教,看代码,下面错在哪里了?
class Demo {
public static void main (String[] args) {
List list = new ArrayList();
list.add("JavaSE");
list.add("JavaWeb");
list.add("JavaEE");
list.add("JavaEE");

for (Iterator it = list.iterator(); it.hasNext(); ) {
String str = (String)it.next();
if ("JavaWeb".equals( str )) {
list.add("Android");
}
}
System.out.println( list );
}
}
作者: lingyuezhixing    时间: 2015-11-23 23:44
迭代器在操作集合的时候,不能再用集合的方法来操作集合,否则会不安全。
建议改为ListIterator 迭代器,通过ListIterator 中的方法进行添加元素,
作者: 晚睡晚起的    时间: 2015-11-23 23:54
用集合的迭代器的时候添加元素会产生并发修改异常 ,用list里的迭代器才能正常.




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