使用Iterator循环时将项添加到HashMap

我有一个使用Iterator遍历HashMap的程序,并且在循环内部,我正在添加HashMap – 这导致了ConcurrentModificationException。 我已经看到ListIterator有一个add()函数来处理这个,但Iterator没有。

HashMap设置如下 –

HashMap<Pair, Object> 

像这样的迭代器 –

 Iterator<Entry<Pair, Object>> iter; 

使用Object(不是真名)是我程序中的一个类。 在我循环或任何其他选项时,有谁知道如何添加到迭代器?

相反,循环遍历地图的副本,并添加到原始地图。 地图的条目集是Map的键值对的视图,虽然您可以删除项目,但不支持添加。

或者,您可以在迭代时将元素添加到新地图,然后使用putAll() …来想一想,这可能更有效。