我最近参加了一次采访,并被问到以下问题.
有两个具有相同哈希码的对象.我在hashmap中插入这两个对象.
hMap.put(a,a);
hMap.put(b,b);
哪里 a.hashCode()==b.hashCode()
现在告诉我hashmap里面有多少个对象?
我回答说只有一个对象,因为哈希码相等,两个对象将相等,而hashmap不允许重复键.请告诉我,我的理解是否正确?
Pet*_*hev 32
可以有两个具有相同哈希码的不同元素.所以你的答案是错误的.唯一保证的是,如果两个元素具有不同的哈希码,那么它们就是不同的.当两个元素具有相同的哈希码时,Java使用等于进一步的差异.
所以答案是一两个对象.
归档时间: |
|
查看次数: |
4782 次 |
最近记录: |