迭代地图并从中移除
2022-08-31 05:11:25
我正在做:
for (Object key : map.keySet())
if (something)
map.remove(key);
它抛出了一个 ConcurrentModificationException,所以我把它改成了:
for (Object key : new ArrayList<Object>(map.keySet()))
if (something)
map.remove(key);
this 以及修改映射的任何其他过程都位于同步块中。
有没有更好的解决方案?