Java常见问题(十二):HashSet和TreeSet有哪些区别?
题目分析:HashSet和TreeSet首先明白它们所属集合,再从字面意思上引申其特性。
【答案】
集合可以从接口上分类:
从字面意思上来判断:HashSet底层使用了Hash表实现。TreeSet底层使用了红黑树来实现。
保证元素唯一性的原理:HashSet判断元素的hashCode值是否相同。如果相同,还会继续判断元素的equals方法,是否为true。TreeSet底层保证元素唯一性是通过Comparable或者Comparator接口实现
【题目拓展】
-
为什么保证要元素唯一性的原理?及详细解释
-
Set接口和List接口的区别?
List是有序的并且元素是可以重复的,Set是无序(LinkedHashSet除外)的,并且元素是不可以重复的,此处的有序和无序是指放入顺序和取出顺序是否保持一致)