黑马程序员技术交流社区

标题: 关于毕老师HashSet课程中的问题 [打印本页]

作者: 黄基焜    时间: 2012-11-30 08:37
标题: 关于毕老师HashSet课程中的问题
刚刚看老毕的视频学到HashSet那部分想到一个问题。
HashSet保证元素唯一是靠hashCode和equals方法。
那么通过复写hashCode和equals方法就可以按照需求来添加元素。
但是去重复元素的方法也是依赖于hashCode和equals方法。
那么当你复写了hashCode和equals方法就不可能添加到重复元素。
同理当你添加得到重复元素时也不可能去除得到重复元素。
在实际开发当中HashSet的使用有没有用到这种方法呢?
作者: 冯盼    时间: 2012-11-30 10:04
保证元素唯一不就是去除了重复么?这两个是一个意思。
作者: 黑马_张伟    时间: 2012-11-30 11:16
不是很理解你的意思,既然两个方法都重写的,那么你的“重复”就是你自己定义的那个方法规定的“重复”,是相对的概念。
作者: 黄基焜    时间: 2012-11-30 11:40
那么毕老师用那个去重复元素的方法也就仅仅是用来演示和教学用,
HashSet集合也就不会用那个去重复元素的方法。
去重复元素的方法也就只是在List系列的集合中才用到了?
作者: 梁胜海    时间: 2012-11-30 13:07
一句话,需要用到重写就必须重写,而且必须都重写equals和hashcode,缺一不可




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