您的位置:首页 > 职场人生

黑马程序员_ 迭代器中的并发修改异常

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培训、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐