* 需求:创建List集合对象,如果当前集合中存在一个"world"元素,给集合中添加一个新的元素"javaee" ;
*
*
** java.util.ConcurrentModificationException:使用迭代器遍历集合,不能使用集合操作元素!
* 并发修改异常:
* 并发:在同一个时间点上同时发生 ------>高并发
* 并行:在同一个时间段内同时发生
*
* 集合中出现异常:
* 使用迭代器遍历集合,在同时使用集合对象操作元素,就会出现这个异常!
* 迭代器遍历集合元素,集合添加元素,而对于迭代器对象并不知道存在一个新的元素!
*
* 如何解决呢?
* 1)迭代器遍历集合,迭代器添加元素 :ListIterator存在添加功能
* 2)集合遍历,集合添加 :普通for循环:(size()和get(int index)相结合)
public class ListIteratorTest {
public static void main(String[] args) {
//创建一个List集合对象,本身存在三个元素"hello","world","java"
List list=new ArrayList();
//添加元素
list.add("hello");
list.add("world");
list.add("java");
//方案1 迭代器遍历集合,迭代器添加元素
ListIterator lit=list.listIterator();
//遍历
while(lit.hasNext()) {
String s=(String)(lit.next());
//判断
if("world".equals(s)) {
lit.add("javaee");
}
}
System.out.println(list);
System.out.println("---------------");
//方式二 size()和get(int index)
for(int x=0;x<list.size();x++) {
String s1=(String)(list.get(x));
if("world".equals(s1)) {
list.add("javaee");
}
}
System.out.println(list);
}
}