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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 紫影 中级黑马   /  2015-5-6 09:55  /  462 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

5 个回复

倒序浏览
由于电脑反应慢,发了两次啊
回复 使用道具 举报
hashSet是依靠hashcode()和equals(),treeSet依靠元素实现Comparable接口或者传入Comparator
回复 使用道具 举报
Set是不允许元素重复的,Set只能通过游标来取值,并且值是不能重复的。
其中主要的两个实现类是HashSet和TreeSet.
TreeSet是通过compareTo或者compare方法来保证元素的唯一性,元素是以二叉树的形式存放的。
HashSet是通过equal方法和hashcode方法来保证元素的唯一性,它的底层数据结构是哈希表。
回复 使用道具 举报 1 0
==和equals的区别还有的,比较的底层内容是不一样的。
例如:String str1="abc";
         String str2="abc";
str1==str2;结果是true;
         String str3=new String("abc");
         String str4=new String("abc");
str3==str4;结果是false;
str3.eqauls(str4);结果就是true
回复 使用道具 举报
Set里的元素是不可以重复的。毕老师第十五天视频教程里就有相关的介绍。楼上的仁兄已经总结出来了。你可以参考参考。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马