两个对象值相同(x.equals(y) == true),但却可有不同的
hash code,这句话对不对?
对。
如果对象要保存在HashSet 或HashMap 中,它们的equals 相等,那么,它们的hashcode 值
就必须相等。
如果不是要保存在HashSet 或HashMap,则与hashcode 没有什么关系了,这时候hashcode
不等是可以的,例如arrayList 存储的对象就不用实现hashcode,当然,我们没有理由不实
现,通常都会去实现的。
第1题:
两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对
第2题:
如果找到两个消息 x 和 x',它们具有相同的Hash值,则是找到了一对 消息
第3题:
原则上讲,两个不同的对象所具有的属性值不能相同,但在给定的关系中的元组可以是完全相同。
第4题:
如果x和y是String类的引用变量,当x==y为true时,x.equals(y)也为true。
第5题:
因为Hash函数碰撞的概率极小,所以,Hash函数在使用的过程中一般不需要考虑Hash值相同的情况。
第6题:
如果找到两个消息x和x',它们具有相同的Hash值,则是找到了一对碰撞消息。