我正在做:
for (Object key : map.keySet())
if (something)
map.remove(key);
它抛出了一个ConcurrentModificationException,所以我把它改为:
for (Object key : new ArrayList<Object>(map.keySet()))
if (something)
map.remove(key);
这个过程以及修改映射的任何其他过程都在同步块中。
有没有更好的解决方案?