A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© cly成子 中级黑马   /  2015-2-11 14:44  /  1093 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

昨天听反射的课程时,老师后面提到面试题hashcode的作用,我反复听了两遍,还是不是非常理解?谁可以说的通俗易懂点?谢谢!

5 个回复

倒序浏览
List集合(ArrayList、LinkedList、Vector)判断元素是否相同,用的是元素的equals。HashSet用到是hashCode(先)和equals(后),说白了是由集合底层的数据结构决定的,所有底层是hash表结构(HashMap)的,都是hashCode(先)和equals(后) Hashcode值你可以理解为对象的内存地址

点评

恩,理解了,谢谢!  发表于 2015-2-12 10:45
回复 使用道具 举报
hashcode方法是判断两个对象是否相同的,如果对象相同,那么hashcode值一定相同,但是hashcode值相同,对象不一定相同。hashcode值的计算方法现在没必要完全搞定,肯定在效率上优于equals,所以先用hashcode方法判断,如果hashcode值不同,两个对象肯定不同,如果相同,再用equals方法判断一次,确定对象相同。
回复 使用道具 举报
Hashcode方法用来判断自定义对象是否相同的,如果这个返回值一样,再比较equal方法判断是否是同一个对象
回复 使用道具 举报
前面的rename都说完了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马