并发修改异常:
https://blog.csdn.net/My_blankness/article/details/77856283
当你遍历集合的同时,又往集合中添加或者删除元素,就可能报并发修改异常。
方案一:用列表迭代器解决。注意:要用列表迭代器的添加或者删除方法。
方案二:用CopyOnWriteArrayList.
package jihe;
import java.util.ArrayList;
import java.util.ListIterator;
import java.util.concurrent.CopyOnWriteArrayList;
public class CMException {
public static void main(String[] args){
//方式一
ArrayList<String> list = new ArrayList<>();
list.add("执");
list.add("手");
list.add("想");
list.add("看");
list.add("泪");
list.add("眼");
//列表迭代器
ListIterator<String> lit = list.listIterator();
while(lit.hasNext()){
//获取集合中的元素
String next = lit.next();
if("执".equals(next)){
lit.remove();
}
}
System.out.println(list);
//方式二
CopyOnWriteArrayList<String> list2 = new CopyOnWriteArrayList<>();
list2.add("竟");
list2.add("无");
list2.add("语");
list2.add("凝");
list2.add("噎");
for(String str:list2){
if("竟".equals(str)){
list2.add("柳永");
}
}
System.out.println(list2);
}
}