list集合在用iterator迭代时,修改集合长度, 不一定会引发异常
来源:互联网 发布:mysql字段约束 编辑:程序博客网 时间:2024/06/08 17:15
import java.util.ArrayList;import java.util.List;public class IteratorTest{public static void main(String[] args){/* * list集合在用iterator迭代时,修改集合长度, 不一定会引发 * ConcurrentModificationException * 迭代器并发修改异常 */List<String> list = new ArrayList<String>();list.add("aa");list.add("bb");list.add("cc");list.add("dd");list.add("ee");/* * list中有一个成员变量:modCount:这个机构被修改的次数 * 迭代器内部:有个一变量:excepedModCount:被期望的修改次数 * 当集合在修改元素时:modCount++; * 当迭代器next()时,会判断excepedModCount和modCount是否相等,不等会 * 引发异常 * chenckForComodification() */for (String string : list){if("aa".equals(string))//list的长度从5->4 迭代器的hasNext()==false, 不会执行next()//所以不会引发异常list.remove("bb");System.out.println(string);}}}
0 0
- list集合在用iterator迭代时,修改集合长度, 不一定会引发异常
- Java Iterator遍历List集合
- java List集合,迭代器iterator
- 返回 list<> 集合异常
- 集合操作的ConcurrentModificationException异常分析,为什么有时候循环remove不会异常?Iterator方式也会异常吗?
- collection list set iterator 集合精粹
- 集合Collection,List,Set,Map,Iterator,Entry
- 集合-Iterator
- 一个异常引发的集合多线程思考
- 在list集合中的添加、修改、删除和遍历元素
- 用Iterator实现遍历集合
- 用Iterator实现遍历集合
- 用Iterator实现遍历集合
- 用Iterator实现遍历集合
- 用Iterator实现遍历集合
- EL表达式获取List集合长度
- Arrays.ArrayList 固定长度的List集合
- List集合遍历时修改元素出现并发修改异常总结
- xcode8 升级后注释快捷键不能使用的解决方法
- 自定义View,绘图
- zTree插件的编写
- Android用WebView获取sessionid保持登录状态
- BFS
- list集合在用iterator迭代时,修改集合长度, 不一定会引发异常
- 区别documen.write和 innerHTML
- 【关于适配】华为手机PopupWindow弹出时背景不变暗 或者 华为手机PopupWindow背景一闪一闪问题处理
- hibernate 如何使用oracle 数据库 默认值(sysdate)
- Kafka设计解析(一)- Kafka背景及架构介绍
- dataTables去掉搜索框和每页多少条框体,解决Cannot reinitialise DataTable问题
- http://blog.csdn.net/txx9010/article/details/7710739
- 罗马尼亚度假问题和N皇后问题
- Linux添加共享库路径