java集合遍历修改指定元素_集合遍历时,修改元素

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

import java.util.ListIterator;

/**

*

* @author Ginfer

* @virsion

* HP

* collection

* HP

* 当迭代器在遍历元素的时候,集合时不能修改元素的,会报ConcurrentModificationException(并发修改异常)

* 迭代器依赖于集合存在,在判断成功后,集合中添加元素是,迭代器不知道,所以会报错

* 这个错叫并发修改异常,如何解决呢?

* 1.迭代器迭代元素,迭代器修改元素

* 但是Iterator没有添加功能

* 2.集合遍历元素,集合修改元素

*

*

*/

public class Demo3 {

public static void main(String[] args) {

List list=new ArrayList();

list.add("asd");

list.add("asdf");

list.add("asdfg");

/*Iterator it=list.iterator();

while(it.hasNext()){

String s=(String) it.next();

if("asd".equals(s)){

list.add("nihao");

}

}*/

//方法1.迭代器迭代元素,迭代器修改元素,元素在查找的元素后面添加

ListIterator lit=list.listIterator();

while(lit.hasNext()){

String s=(String)lit.next();

if("asd".equals(s)){

lit.add("zxc");

}

}

System.out.println("list:"+list);

//方法2.集合遍历元素,集合修改元素,元素在集合的最后添加

for (int i = 0; i < list.size(); i++) {

if("asd".equals(list.get(i))){

list.add("bnm");

}

}

System.out.println("list:"+list);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值