Java Map 哈希码

标签 java dictionary hashcode

计算 Map 的哈希码的最佳方法是什么? ,知道它可能包含以下类型的条目值: String , Integer , Object[] ...?

Map.hashCode()返回浅哈希码。这意味着如果您有 String[]在您的 map 中,Map.hashCode()还将使用 String[] 返回的哈希值。不幸的是,这不是我想要的(Object.hashCode()实现)。但我想要Arrays.hashCode(String[])实现。

那么处理这个问题的最佳通用方法是什么?

最佳答案

如果您需要知道两个映射是否包含相同的值,您将需要编写一个深度比较方法。你不应该依赖 hashCode。

即使使用完美的算法,每个可能对象的每个可能集合也无法由单个有符号整数唯一表示。

哈希码仅用于集合中使用时减少冲突,不应该用于唯一标识对象。

关于Java Map 哈希码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4411637/

相关文章:

java - 为什么从我的文件中读取的最小数字总是 0? ( java )

java - 忽略文件中以 "#"登录 Java 开头的行

java - Guice 注入(inject)基于注解值

dictionary - 无法获取 map 元素的地址

ruby - 如何设置 ruby​​ murmur 哈希的种子值

javascript - location.hash 和回溯历史

java - 如何在 JavaEE 中 Hook HTTP 请求的开始和结束?

python - 如何比较python中默认字典中列表的索引值

python - 我将如何使用字典中的键

java - 比较对象,相同的内容,不同的 id(在 eclipse 调试器中)