请问在一个Hashmap里用Key的Iterator里调用Hashmap的remove(iter.next()), 是不是不可以的?我想删了hashmap中的某些内容.
如:
Iterator iter = map.keySet().iterator();
while(iter.hasNext()){
......
if(...){
map.remove(iter.next());
}
}有这种异常java.util.ConcurrentModificationException还是把要删的Keys找出来,再删呢?
如:
Iterator iter = map.keySet().iterator();
while(iter.hasNext()){
......
if(...){
map.remove(iter.next());
}
}有这种异常java.util.ConcurrentModificationException还是把要删的Keys找出来,再删呢?
因为这是一个fail-fast iterator
for(int i=0;i<keys.length;i++)
map.remove(keys[i])Code above is OK!
Thanks All.