黑马程序员技术交流社区

标题: 集合框架中的HashSet [打印本页]

作者: 骑着乌龟去旅行    时间: 2014-11-30 22:02
标题: 集合框架中的HashSet
我知道Set是一个无序不可重复的集合
可我不知道HashSet底层是什么的结构,它的equals()方法和HashCode()方法到底有什么作用呢
会不会是这俩个方法才保证了Set集合不可重复的


作者: 骑着乌龟去旅行    时间: 2014-11-30 22:38
没人在嘛哎。。。。。。
作者: 迷失的小Z    时间: 2014-11-30 22:49
底层是哈希表
作者: 陈国华    时间: 2014-11-30 23:00
就我的理解说说吧
HashSet底层是哈希表,容器里的对象在你创建的时候就会通过一些算法赋给哈希值,HashSet如果要判断元素是否重复首先会判断元素对应的哈希值,如果不相等则视为不同的元素,如果相等的话会通过equals方法来继续比较;而这个equals方法你也可以自己来复写,也就是可以通过复写equals方法来自定义的判断集合中的元素是否重复。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2