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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

4 个回复

正序浏览
==是比较储存的内存地址,equals是比较这个字符串是否是相等,总之就是一个比较的是地址,另一个比较字符串

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
JavaAPI中有:
set是一个不包含重复元素的 collection。更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。正如其名称所暗示的,此接口模仿了数学上的 set 抽象。
最特殊的也就是HashSet吧,它所添加的元素应该重写hashCode和equals。先判断hashCode,hashCode相等的时候,再判断equals。

回复 使用道具 举报
??整体意义不明,放在set里的元素是可以用.contains()来判断是否有重复,如果重复则contains()会返回true.

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

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