TreeSet集合概述和特点

该集合在java.util包下。该集合也有泛型

TreeSet是类,也是集合

该集合是具体的类,继承自AbstractSet集合,或叫继承自AbstractSet类。该类实现了三个接口,分别是NavigableSet、Cloneable、Serializable

该类没有直接实现Set接口,而是通过NavigableSet接口继承自SortedSet接口继承自Set接口。即TreeSet类间接实现了Set接口,Set是TreeSet的爷

该集合的元件,或理解为该集合的元素使用起有序的natural ordering

natural ordering是接口,该接口对实现它的每个类的对象强加一个整体排序,这个排序被称为类的自然排序,所以Comparable接口也被称为自然排序接口

Comparable接口是一个比较功能的接口,对一些对象的集合施加了一个整体排序,所以Comparable接口也被称为比较器排序接口 也就说,如果我们要做自然排序,就得让对应的类去实现Comparable接口

 

总结: 1、TreeSet集合里面的元素是有序的,可以使用根据自然排序,也可以使用根据比较器排序。使用哪种排序,取决于所使用排序的构造方法 2、该集合没有带索引的方法,所以不能使用普通for循环遍历,可以使用迭代器、增强for进行遍历 3、由于是TreeSet集合本身是Set集合,所以集合里不包含重复元素

 

TreeSet的构造方法如下,有1个无参和3个带参

方法名描述
TreeSet()构造一个新的,空的数组,根据其元素的自然排序进行排序
TreeSet(Collection<? extends E> c)构造一个新的空树集,根据其元素的自然顺序进行排序
TreeSet(Comparator<? super E> comparator)构造一个新的空树集,根据指定的比较器进行排序
TreeSet(SortedSet s)构造一个包含相同元素并使用与指定有序集相同排序的新树集

 

TreeSet集合概述和特点的练习