2013年8月29日

关于ConcurrentModificationException异常

摘要: 在使用增强 for 循环遍历ArrayList,同时删除某元素时,遇到ConcurrentModificationException异常for(Person p : personList){ if(id.equals(p.getId)) { personList.remove(p); } }因为使用增强for循环的时候,内部原理是调用了iterator 实现。所以比较简单的解释是:Iterator被创建的时候,建立了一个内存索引表(单链表),这 个索引表指向原来的对象,当原来的对象数量改变的时候,这个索引表的内容没有同步改变,所以当索引指针往下移动的时候,便找不到要迭代的... 阅读全文

posted @ 2013-08-29 22:36 JLeight 阅读(168) 评论(0) 推荐(0) 编辑

导航