【009期】JavaSE面试题(九):集合之Set
2020年 百日百更 原创 Java面试题库之往期回顾 【 开篇介绍 大家好,我是 Java面试题库 的 提裤姐 ,今天这篇是面试系列的第九篇,主要总结了JavaSE中集合相关面试题,这篇是集系列的第二篇,主要讲解Set集合,第三篇主要讲解Map集合。在后续,会沿着第一篇开篇的知识线路一直总结下去,做到日更!如果我能做到 百日百更 ,希望你也可以跟着百日百刷,一百天养成一个好习惯。 Q: List和Set的区别? List,Set都是继承自Collection接口。都是用来存储一组相同类型的元素的。 List特点:元素有放入顺序,元素可重复 。 有顺序,即先放入的元素排在前面。 Set特点:元素无放入顺序,元素不可重复。 无顺序,即先放入的元素不一定排在前面。不可重复,即相同元素在set中只会保留一份。所以,有些场景下,set可以用来去重。 注意:set在元素插入时是要有一定的方法来判断元素是否重复的。这个方法很重要,决定了set中可以保存哪些元素。 Q: Set如何保证元素不重复? 在Java的Set体系中,根据实现方式不同主要分为两大类。 HashSet 和 TreeSet 。 1、TreeSet 是二叉树实现的,Treeset中的数据是自动排好序的,不允许放入null值 2、HashSet