游戏人生看别样风景

首页 » Java笔记 » 正文

ConcurrentModificationException并发修改异常

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

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

 

//使用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!");

}


发表评论:

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

«   2018年11月   »
1234
567891011
12131415161718
19202122232425
2627282930
网站分类
标签列表
最近发表
最新留言
网站收藏
    RainbowSoft Studio Z-Blog订阅本站的 RSS 2.0 新闻聚合html5创意