java - 为什么Java不使用ArrayList类来实现Hashtable/HashMap类?

标签 java algorithm arraylist hashtable

此质量检查 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/

相关文章:

java - 更改 JButton 对象上文本的颜色

java - 无法获取 org.gradle.api.Project 类型的项目 'VERSION_CODE' 的未知属性 ':app'

java - ArrayList 与双倍数组大小?

java - 如何生成 LogN 唯一数字的排序列表,其中 N 是给定的数组大小?

java - 使用 ArrayList 的优先级队列的性能

java - 解析子串?

java - React Native,Android 日志。

algorithm - 使用不可逆的累加器进行递归 - 这可能吗?

数组中的Java匹配模式

以特定方式放置两个矩形的算法