黑马程序员技术交流社区

标题: 这段代码运行出来报错怎么回事啊 [打印本页]

作者: gaojing69485542    时间: 2015-11-1 10:59
标题: 这段代码运行出来报错怎么回事啊
  ArrayList al = new ArrayList();
  al.add(“a”);
  al.add(“b”);
  al.add(“c”);
  Iterator it = al.iterator();
  while(it.hasNext()){
String s = (String)it.next();
if(s.equals(“c”)){
al.add(“c1”);
}
}
System.out.println(al);
作者: 大自然的搬运工    时间: 2015-11-1 11:47
Iterator迭代器里边不能修改数据,想修改数据可以是ListIterator这个可以。
作者: zlg    时间: 2015-11-1 12:26
菜鸟表示完全看不懂
作者: 冯景超    时间: 2015-11-1 13:05
看不懂,我也是菜鸟
作者: 18310313828    时间: 2015-11-1 13:44
Iterator做遍历的时候,al.add(“c1”)对list进行修改,it.next()会检查list的size,size发生变化,抛出错误ConcurrentModificationException。




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