游戏人生看别样风景

首页 » Java笔记 » 正文

ConcurrentModificationException并发修改异常

2014年11月09日 | 分类:Java笔记 | 作者:hucker | 评论:0条评论 | 浏览:802

出现这个错误一般是在迭代时使用了集合对象的方法操作集合中的元素,出现的并发修改异常,因为在使用迭代器时,只能用迭代器的方法操作元素。

 

//使用Iterator遍历输出

Iterator<String> it = list.iterator();

while(it.hasNext()){

String string = it.next()

if(string.equals("gggg"));

/*此处使用的是集合对象的方法对集合进行添加

所以会报并修改异常*/

list.add("This Is Wrong!");

}

System.out.println(list);

 

但是Iterator中的方法很有限,只有判断,查询和删除,如果想要实现其他的操作(添加,修改等),需要使用Iterator的子接口ListIterator来完成迭代中集合的增删改查(只有List元素能使用此方法,因为list元素都自带角标)所以这里应该使用ListIterator

 

//使用ListIterator遍历输出

ListIterator<String> it = list.listIterator();

while(it.hasNext()){

String string = it.next();

if(string.equals("gggg"))

it.add("Tis Is Right!");

/*此处使用的是集合对象的方法对集合进行添加

所以会报并行修改异常*/

//list.add("This Is Wrong!");

}


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«   2024年3月   »
123
45678910
11121314151617
18192021222324
25262728293031
网站分类
标签列表
最近发表
最新留言
网站收藏
    RainbowSoft Studio Z-BlogRainbowSoft Studio Z-Blog订阅本站的 RSS 2.0 新闻聚合html5创意