黑马程序员技术交流社区
标题:
hashcode和equals方法
[打印本页]
作者:
晨若兰曦
时间:
2015-2-10 14:18
标题:
hashcode和equals方法
HashSet集合保证元素唯一性:通过元素的hashCode方法,和equals方法完成的。 当元素的hashCode值相同时,才继续判断元素的equals是否为true。 如果为true,那么视为相同元素,不存。如果为false,那么存储。 如果hashCode值不同,那么不判断equals,从而提高对象比较的速度。
这句话不是很理解,请高手指教。。
作者:
d342784178
时间:
2015-2-10 14:19
就是先比较hashcode的值 如果不一样 就不调用equals()方法了
作者:
枪杆不如笔杆
时间:
2015-2-10 16:29
hashCode()实际上在计算此对象需要存放的地址,默认情况下这个值是与对象的内容有关系的,如果哈希值相同就有两种可能,一个是两个对象是一个对象,或是两个对象经过计算后得到的值是相同的,为了进一步确定属于哪种情况所以才会有equals()函数来判断内容是否真的相等
作者:
㏒假™面具
时间:
2015-2-10 18:19
HashSet在存储对象时的步骤!1.通过hashCode()方法算出对象的地址值,简单说就是其位置!如果在该位置值没有对象,则存储!如果地址值相同,则通过equals()方法判断内容是否相同,相同则不存!不相同则用串联或其他方式存储!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2