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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 骑着乌龟去旅行 中级黑马   /  2014-11-30 22:02  /  944 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我知道Set是一个无序不可重复的集合
可我不知道HashSet底层是什么的结构,它的equals()方法和HashCode()方法到底有什么作用呢
会不会是这俩个方法才保证了Set集合不可重复的

3 个回复

倒序浏览
没人在嘛哎。。。。。。
回复 使用道具 举报
底层是哈希表
回复 使用道具 举报
就我的理解说说吧
HashSet底层是哈希表,容器里的对象在你创建的时候就会通过一些算法赋给哈希值,HashSet如果要判断元素是否重复首先会判断元素对应的哈希值,如果不相等则视为不同的元素,如果相等的话会通过equals方法来继续比较;而这个equals方法你也可以自己来复写,也就是可以通过复写equals方法来自定义的判断集合中的元素是否重复。

评分

参与人数 1技术分 +1 收起 理由
sk0806 + 1 赞一个!

查看全部评分

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