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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 心是你仰望的城 中级黑马   /  2014-3-5 11:02  /  1111 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

set中存储的数据不能重复,是指具体的值不能相等,还是引用变量指向的对象不能是同一个呢?

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

4 个回复

正序浏览
set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。
equals 方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写。
==用于比较引用和比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true
而在比较引用时,如果引用指向内存中的同一对象,结果为true

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
默认是比较对象的地址吧,但这个也可以通过重写equals和hashcode方法来自己指定。
回复 使用道具 举报
把老师的代码敲个几遍

下面的看看能不能理解
HashSet集合,判断元素是否存在,或者删除元素,底层依据的是hashCode方法和equals方法。
TreeSet保证元素唯一性的方式:就是参考比较方法的结果是否为0,如果return 0,视为两个对象重复,不存。
回复 使用道具 举报
Set是一种不包含重复的元素的无序Collection,每个具体Set实现类依赖添加的对象equals()方法来检查独一性。

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

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