一道java面试题,判断Set里的元素是不是重复
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一道java面试题,判断Set里的元素是不是重复相关的知识,希望对你有一定的参考价值。
我在网上查了一下,这个问题和答案
问:Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
答:Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。
我不明白,既然set不能重复,那为啥还要判断?用iterator方法怎么区分?
不过,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 之间的区别是什么?
每天一道面试模拟真题及解析
●回复"每日一练"获取以前的题目,持续更新!
●我希望大家积极参与!有什么不懂可以加小千微信进行讨论
★把面试准备工作,拆分、融入到平时每天
参考答案:
Collection框架关系图如下:
-
List:有序集合,元素可重复 -
Set:不重复集合,LinkedHashSet按照插入排序,SortedSet可排序,HashSet无序 -
Map:键值对集合,存储键、值和之间的映射;Key无序,唯一;value 不要求有序,允许重复
以上是关于一道java面试题,判断Set里的元素是不是重复的主要内容,如果未能解决你的问题,请参考以下文章