for(Iterator<String> it = a1.iterator();it.hasNext();){
if(it.next().equals("abc")) //这问题是我们刚接触集合常犯的错误,把迭代器里的获取功能在同一代码块中不断的获取导致的异常
a1.remove(it.next()); //上面已经在进行迭代的操作,下面又进行迭代,你这种并发的获取操作到最后就没有你要获取的元素,异常也就随之而来了
}
你可以进行改进达到你要的操作:
for(Iterator<String> it = a1.iterator();it.hasNext();){
String s = it.next();
if(s.equals("abc"))
a1.remove(s);
}
|