ArrayList的迭代删除问题
2015-07-02 11:26
399 查看
import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class Test { public static void main(String[] args) { List<String> list = new ArrayList<>(2); list.add("a"); list.add("b"); list.add("c"); list.add("d"); //至此list的modCount值为4 Iterator<String> it = list.iterator(); //list的modCount值为4,it的expectedModCount值为4 while(it.hasNext()){//迭代成功的必要条件是:modCount == expectedModCount System.out.println(it.next()); list.remove(2); //list的modCount值为5,it的expectedModCount值为4,导致下一次迭代时抛出ConcurrentModificationException异常 } } }
相关文章推荐
- 《C语言及程序设计》实践项目——程序的多文件组织
- JS 引用类型和值类型
- DevExpress asp.net 导出Excel 自动开启迅雷问题,默认保存为aspx页面
- ef,使用firstordefault会返回null,而使用first,如果不存在会报异常
- C# 关闭显示器(显示)
- iOS7隐藏statusBar
- CentOs7安装Hadoop2.7.0总结
- TCP/IP基础
- SQLServer與Oracle的區別
- C++抽奖程序实现方法
- 小数处理,四舍五入
- OJ嘻唰唰Shape系列-6
- iOS-AppleWatch开发基础知识
- MySQL数据库表名、列名、别名区分大小写的问题及解决
- List的遍历有三种方式及具体用法
- MySQL学习笔记(二):内连接和外连接实现多表查询
- CentOS环境DRBD的编译安装
- linux sed命令详解
- LeetCode Best Time to Buy and Sell Stock I II III
- MFC的PNG图片按钮