Java HashMap 删除键/值
我只是在寻找一个解释和/或见解,为什么迭代HashMap更好。
例如,下面的代码(在我看来)完全相同(或者应该)。但是,如果我不迭代HashMap,则不会删除密钥。
_adjacentNodes.remove(node);
Iterator<Map.Entry<String, LinkedList<Node>>> iterator = _adjacentNodes.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, LinkedList<Node>> entry = iterator.next();
if(node.getNodeID().contentEquals(entry.getKey())){
iterator.remove();
}
}
这是怎么回事?