黑马程序员技术交流社区
标题:
集合中的元素比较疑问
[打印本页]
作者:
大漠孤烟
时间:
2014-5-7 20:55
标题:
集合中的元素比较疑问
Map集合中元素排序比较,都是先判断比较的是hashCode值,再equals比较对象内容,问一下hashCode相同 equals对象内容不一定相同,但是反过来如果equals比较对象内容相同,哈希值是否一定相同,为什么,能否讲解一下,谢谢!!
作者:
张耀扬
时间:
2014-5-8 00:28
Java
对于eqauls方法和hashCode方法是这样规定的:1
、如果两个对象相同,那么它们的hashCode值一定要相同;2、如果两个对象的hashCode
相同,它们并不一定相同 上面说的对象相同指的是用eqauls
方法比较。
具体你可以查看API中Object类中的hashcode和equals方法的说明
作者:
来男.
时间:
2014-5-10 20:47
hashCode()的返回值是根据对象地算出来的int类型的数值 ,hashcode相等,则对象相同;hashCode 不等,对象可能等(或不等),所以若hashcode相等,则再进行equals()判断;equals()比较是内存对象在内存中的地址值。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2