我只是在寻找解释和/或洞察为什么更好地迭代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();
}
}
Run Code Online (Sandbox Code Playgroud)
到底是怎么回事?