Java的HashSet的哈希码的唯一性 及其子集

问题描述 投票:1回答:2

如果我的Java HashSet<Double>的长度在1到10.000之间,则此集合及其所有子集的哈希码是否唯一?

java hashset hashcode hash-code-uniqueness
2个回答
1
投票

没有Object.hashCode()方法的实现(例如HashSet.hashCode())不能保证返回唯一值,而只能返回足以满足哈希数据结构目的的伪随机值。

如果您根据设置的内容为HashSet<Double>指定一个唯一值,则应自己实施。


0
投票

集合的哈希码定义为集合中元素的哈希码之和,其中null元素的哈希码定义为zero。这确保了s1.equals(s2)意味着根据s1.hashCode()==s2.hashCode()的总合同的要求,将任意两个集s1s2Object.hashCode

© www.soinside.com 2019 - 2024. All rights reserved.