package cn.itcast1;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class OutCollection {
/**
集合发生的 并发异常 ConcurrentModificationException
*/
public static void main(String[] args) {
List li = new ArrayList ();
li.add("abc1");
li.add("abc2");
li.add("abc3");
li.add("abc4");
Show(li);
}
private static synchronized void Show(List li) {
Iterator itr = li.iterator();
while(itr.hasNext()){
Object obj = itr.next();
if(obj.equals("abc2")){
li.add("abc5");
}
else{
System.out.println("next:"+obj);
}
}
System.out.println(li);
}
} |
|