其他分享
首页 > 其他分享> > 集合框架,并发修改异常产生的原因及解决方案。

集合框架,并发修改异常产生的原因及解决方案。

作者:互联网

package List;

import java.util.ArrayList;
import java.util.Iterator;

import com.sun.xml.internal.bind.v2.runtime.reflect.ListIterator;

public class Demo03 {
/*
* 我有一个集合,请问,我想判断里面有没有"world"这个元素,如果有,我就添加一个"javaee"元素
*/
public static void main(String[] args) {
ArrayList list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("world");
list.add("d");
list.add("e");
/*Iterator it = list.iterator();// 获取迭代器
while (it.hasNext()) {// 判断集合中是否有元素
String str = (String) it.next();
if ("world".equals(str)) {
list.add("javaee");// 遍历的同时在增加元素,并发修改异常:java.util.ConcurrentModificationException
}
}*/
/*遍历的同时增加元素
* 解决方案:可以用list中特有的迭代器ListIterator中的add方法解决。
*/
@SuppressWarnings({ "rawtypes", "unused" })
java.util.ListIterator lit = list.listIterator();//获取迭代器(list集合特有的迭代器)
while (lit.hasNext()) {
String str = (String) lit.next();
if ("world".equals(str)) {
lit.add("javaee");
}
}
System.out.println(list);

}
}

标签:util,java,String,解决方案,list,lit,并发,add,集合
来源: https://www.cnblogs.com/wangffeng293/p/14221619.html