【发布时间】:2016-11-12 05:52:54
【问题描述】:
我知道 Hashtable 和 HashMap 的区别。但是,这两个类似乎都在使用 散列函数 来完成工作。 Hashtable中使用的hash函数和HashMap中使用的hash函数有区别吗?
特别是他们使用的哈希算法有区别吗?这两个类中hash的公式是什么?
也就是说,计算索引(哈希值)的方式不同吗?
【问题讨论】:
-
最后,两者都使用
hashCode()添加到集合中的对象。因此,确定“哈希”的算法取决于您如何在添加的对象上实现hashCode()。 (或者一般来说它是如何在对象上实现的) -
实际上,对于 Java 8,算法(显着)不同;看我的回答。
-
@Tibrogargan 我不认为这是该问题的重复。至少我在那里看不到我的答案。
标签: java algorithm hash hashmap hashtable