通过哈希检查HashSet中是否存在元素

alk*_*mtl 5 java hashcode hashset

HashSet如果我只有对象的哈希码,而不是对象本身,我是否可以检查对象是否在?

Era*_*ran 9

你不能,因为hashCode它只用于定位对象存储在其中的bin HashSet.有可能在相同的箱柜多个元素,并HashSet使用equals,以确定是否在该仓存在搜索到的元素hashCode被映射到.

垃圾箱可能包含多个具有相同元素的元素hashCode,因此只知道它hashCode是不够的.

  • @Tgsmith61591如果多个元素具有相同的hashCode怎么办? (4认同)