1.在我有一个集合,请问我想判断里面有没有"world"这个元素,如果有,我们就添加一个"spark"?
Qusetion:并发修改异常:迭代器遍历元素的时候,集合不能修改元素
while (i.hasNext()){ Object next = i.next(); String s = (String) next; if("world".equals(s)){ //ConcurrentModificationException list.add("spark");
}
}
import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class ArrayLIstDemo6 { public static void main(String[] args) { List<String> lists=new ArrayList<>(); lists.add("hello"); lists.add("world"); lists.add("bigdata"); //集合遍历元素,集合修改元素 for(int i=0;i<lists.size();i++){ if("world".equals(lists.get(i))){ lists.add("spark"); } } System.out.println(lists);//[hello, world, bigdata, spark] //迭代器遍历元素,迭代器修改元素,这时候插入是在lt.next()索引 ListIterator<String> lt = lists.listIterator(); while (lt.hasNext()){ if("world".equals(lt.next())){ lt.add("spark"); } } System.out.println(lists);//[hello, world, spark, bigdata, spark] } }