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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李靖 中级黑马   /  2012-10-29 20:55  /  1193 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如果重写了hashcode和equals方法,那么hashcode和equals方法会在什么时候自动调用呢

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

2 个回复

倒序浏览
在HashSet存的时候判断啊。。存的时候判断,比较,如果比较结果一样,就不存,不一样,就存。
Set:元素是无序(存入和取出的顺序不一定一致),元素不可以重复。当哈希值重复的时候,还有一种校验方式,位置一样,再判断是否是同一对象(equals)。
注意:对于判断元素是否存在,以及删除等操作,依赖的方法是元素的hashCode和equals方法

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
HashSet保证元素的唯一性:是通过元素的两个方法,hashCode和equals来完成的。
如果元素的HashCode值相同,才会判断equals是否为true.
如果元素的HashCode值不同,则不会调用equals。

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马