黑马程序员_ 迭代器中的并发修改异常
2013-12-16 14:40
211 查看
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
并非修改异常ConcurrentModificationException
是指当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常。
例:
Iterator<String> it=list.iterator();
while(it.hasNext()){
String str = it.next();
if(str.equals("world")){
list.add("java");
}
System.out.println(list);
}
此题目是想查看如果集合list包含world 就再添加元素java
使用的是迭代器进行的便利 然后就出现了并发修改异常 其原因是
迭代是依赖集合的存在而存在的 其遍历的基础是指在集合元素不变的情况下
而本程序中有添加元素的操作从而使集合本身发生了变化
而迭代器原来依赖的集合发生了变化 使迭代器原来的数据不能正常使用
所以报错 迭代器不能迭代变化的集合
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
并非修改异常ConcurrentModificationException
是指当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常。
例:
Iterator<String> it=list.iterator();
while(it.hasNext()){
String str = it.next();
if(str.equals("world")){
list.add("java");
}
System.out.println(list);
}
此题目是想查看如果集合list包含world 就再添加元素java
使用的是迭代器进行的便利 然后就出现了并发修改异常 其原因是
迭代是依赖集合的存在而存在的 其遍历的基础是指在集合元素不变的情况下
而本程序中有添加元素的操作从而使集合本身发生了变化
而迭代器原来依赖的集合发生了变化 使迭代器原来的数据不能正常使用
所以报错 迭代器不能迭代变化的集合
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
相关文章推荐
- Java之集合框架 List接口的特有方法、迭代器的并发修改异常以及LinkedList特有方法
- java-迭代器并发修改异常
- Java基础知识强化之集合框架笔记19:List集合迭代器使用之 并发修改异常的产生原因 以及 解决方案
- Java学习篇之迭代器并发修改异常问题
- 黑马程序员-java基础-并发修改异常产生的原因和解决方案
- linkedlist中使用迭代器出现并发修改异常,ConcurrentModificationException异常
- 迭代器的并发修改异常
- Java Iterator ListIterator 迭代器 以及 并发修改异常 ConcurrentModificationException
- 使用迭代器遍历List的时候修改List报ConcurrentModificationException异常原因分析
- ConcurrentModificationException 集合并发修改异常 解决
- java面试题15--迭代器并发修改异常ConcurrentModificationException
- 关于集合中在迭代器中用集合的对象删除元素的并发异常问题
- 黑马程序员-迭代器快速失败异常问题
- 15 API-集合(Collection(功能,迭代器),List(List特有迭代器,并发异常),常见数据结构图示(栈,队列,数组,链表))&对象数组
- Android并发修改异常:java.util.ConcurrentModificationException
- 使用迭代器遍历List的时候修改List报ConcurrentModificationException异常原因分析
- 并发修改异常原理与解决方法
- java里面在遍历集合的时候对集合进行添加或者删除修改时的并发修改异常
- 使用迭代器遍历List的时候修改List报ConcurrentModificationException异常原因分析
- HashMap并发修改异常解决办法