一道java面试题,判断Set里的元素是不是重复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一道java面试题,判断Set里的元素是不是重复相关的知识,希望对你有一定的参考价值。

我在网上查了一下,这个问题和答案
问:Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
答:Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。

我不明白,既然set不能重复,那为啥还要判断?用iterator方法怎么区分?

用的是equals(),这个你查看它的文档就知道了
不过,Set中不允许重复元素指的是地址不重复,如果添加进去的是引用类型的话,例如:
Student s1 = new Student("lili",15);
Student s2 = new Student("lili",15);
set.add(s1);
set.add(s2);
这样的语句是不会报错的(假设Student类中没有重写equals()方法的话),因为s1和s2的地址不同,所以一般编程时实体类中需要重写equals()方法
参考技术A 是如果重复 就不会加入了而已。他用object1 .equals(object2)判断 如果重复就不加入本回答被提问者采纳 参考技术B iterator()似乎是跌代。
boolean contains(Object o) 才是判断吧

Java面试题|ListSetMap 之间的区别是什么?

每天一道面试模拟真题及解析





课前导读

●回复"每日一练"获取以前的题目,持续更新!

我希望大家积极参与!有什么不懂可以加小千微信进行讨论

★把面试准备工作,拆分、融入到平时每天


List、Set、Map 之间的区别是什么?

参考答案:


Collection框架关系图如下:

  • List:有序集合,元素可重复
  • Set:不重复集合,LinkedHashSet按照插入排序,SortedSet可排序,HashSet无序
  • Map:键值对集合,存储键、值和之间的映射;Key无序,唯一;value 不要求有序,允许重复
点击 阅读原文 抢预约免费试听课程名额

以上是关于一道java面试题,判断Set里的元素是不是重复的主要内容,如果未能解决你的问题,请参考以下文章

Java面试题|ListSetMap 之间的区别是什么?

ListMapSet 三个接口,存取元素时,各有什么特点?

JAVA面试题整理-基础

JAVA中,如何去掉LIST里的重复元素

Java面试题:List和Set的区别

java面试题基础4