我知道 hashmap 中键的顺序不能保证。 如果没有重新哈希或哈希冲突,是否会发生重新排序?
最佳答案
我们真的不应该为此担心!
查看HashMap的源码,内部似乎使用了一个HashMap.Entry对象数组,数组索引根据对象的hashCode()和阵列。所以排序与对象的hashCode和Map的大小有关。
然而,这是一种简化,我只查看了 OpenJDK 6 中的实现。
您永远不应依赖实现细节。有一个名为 Map: 的接口(interface)是有充分理由的,它定义了应该如何使用它。
关于java - HashMap 键的顺序究竟何时受到影响,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33368767/