此质量检查 How does Java implement hash tables?描述了Hashtable在Java中是通过静态数组实现的(底层静态数组会根据项的总数进行细化)。
为什么Java不通过ArrayList等动态数组实现Hashtable?
权衡是什么?
最佳答案
调整哈希表大小时,所有条目都需要重新定位。
因此,使用 ArrayList 会更慢,因为 ArrayList 会在 HashTable 重新计算它们之前复制现在无用的旧值。
关于java - 为什么Java不使用ArrayList类来实现Hashtable/HashMap类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9363964/