首页 > 其他 > 详细

如果两个对象具有相同的哈希码,但是不相等的,它们可以在相同的HashMap中同时存在的?

时间:2014-04-04 10:32:14      阅读:614      评论:0      收藏:0      [点我收藏+]

如果两个对象具有相同的哈希码,但是不相等的,它们可以在相同的HashMap中同时存在的?

----答案是 可以

原因:

在hashmap中,由于key是不可以重复的,他在判断key是不是重复的时候就判断了hashcode这个方法,而且也用到了equals方法。这里不可以重复是说equals和hashcode只要有一个不等就可以了

例子:

TestObject t1= new TestObject();
t1.A=1;
TestObject t2= new TestObject();
t1.A=2;
Map map= new HashMap();

 

 @Override
public int hashCode() {
return 5;
}
 

map.put(t1, "A");
map.put(t2,"B");

System.out.println(map.get(t1));
System.out.println(map.get(t2));

 

----A

      B

 

 

如果两个对象具有相同的哈希码,但是不相等的,它们可以在相同的HashMap中同时存在的?,布布扣,bubuko.com

如果两个对象具有相同的哈希码,但是不相等的,它们可以在相同的HashMap中同时存在的?

原文:http://www.cnblogs.com/qqzy168/p/3644111.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!