我正在使用 .hashCode() 创建哈希。是否有一个库可以在 Java 中执行双重哈希来解决冲突?

I'm using .hashCode() to create hashes. Is there a library to perform double hashing in Java to resolve collisions?

作为家庭作业,我正在尝试使用数组创建哈希图的实现。我正在使用 .hashCode() 创建哈希,我需要找到解决冲突的方法。

我想过使用双重散列,但我在 Java 中找不到这样做的方法。我也试过在 SO 上搜索,但大多数问题都在讨论如何处理冲突解决等,而不是如何实施解决方案。如果没有执行双重哈希的库,谁能给我指出任何简单的替代方案?

双重散列可能是您想要在生产代码中执行的操作,但对于 class 练习,这可能有点矫枉过正。

您应该做的是实现一个附加到每个 of the hashmap, and when you have a "collision" (meaning, more than one object is mapped to the same key in the array) you just add another link to the list with the new object. A good illustration can be found 的链表。

可以在此处找到一个很好的解释以及演示此解决方案的可视化图表: https://www.geeksforgeeks.org/internal-working-of-hashmap-java/

您可能还会发现以下 SO 问题 + 相关答案: