TreeSet 是一个有序的集合,它的作用是提供有序的 Set 集合。
TreeSet 其实底层是通过 TreeMap 实现的。
//E: 泛型数据类型,用于设置 objectName 的数据类型,只能为引用数据类型。
Set<E> sites = new TreeSet<E>();
TreeSet 继承于 AbstractSet,所以它是一个 Set 集合,具有 Set 的属性和方法。
TreeSet 实现了 NavigableSet 接口,意味着它支持一系列的导航方法。比如查找与指定目标最匹配项。
TreeSet 实现了 Cloneable 接口,意味着它能被克隆。
TreeSet 实现了 java.io.Serializable 接口,意味着它支持序列化。
注意:
TreeSet 是基于 TreeMap 实现的。TreeSet 中的元素支持2种排序方式:自然排序 或者 根据创建 TreeSet 时提供的 Comparator 进行排序。这取决于使用的构造方法。
TreeSet 为基本操作(add、remove 和 contains)提供受保证的 log(n) 时间开销。
TreeSet 是非同步的。 它的 iterator 方法返回的迭代器是fail-fast的。
TreeSet 是有序的 Set 集合,因此支持add、remove、get等方法。
TreeSet 和 NavigableSet 一样,TreeSet 的导航方法大致可以区分为两类,一类时提供元素项的导航方法,返回某个元素;另一类时提供集合的导航方法,返回某个集合。
lower、floor、ceiling 和 higher 分别返回小于、小于等于、大于等于、大于给定元素的元素,如果不存在这样的元素,则返回 null。
Modifier and Type | Method and Description |
---|---|
boolean | add(E e) 将指定的元素添加到此集合(如果尚未存在)。 |
boolean | addAll(Collection<? extends E> c) 将指定集合中的所有元素添加到此集合中。 |
E | ceiling(E e) 返回此集合中最小元素大于或等于给定元素,如果没有此元素,则返回 |
void | clear() 从此集合中删除所有元素。 |
Object | clone() 返回此 |
Comparator<? super E> | comparator() 返回用于对该集合中的元素进行排序的比较器,或null,如果此集合使用其元素的natural ordering 。 |
boolean | contains(Object o) 如果此集合包含指定的元素,则返回 |
Iterator<E> | descendingIterator() 以降序返回该集合中的元素的迭代器。 |
NavigableSet<E> | descendingSet() 返回此集合中包含的元素的反向排序视图。 |
E | first() 返回此集合中当前的第一个(最低)元素。 |
E | floor(E e) 返回此集合中最大的元素小于或等于给定元素,如果没有这样的元素,则返回 |
SortedSet<E> | headSet(E toElement) 返回此集合的部分的视图,其元素严格小于 toElement 。 |
NavigableSet<E> | headSet(E toElement, boolean inclusive) 返回该集合的部分的视图,其元素小于(或等于,如果 |
E | higher(E e) 返回严格大于给定元素的该集合中的最小元素,如果没有此元素则返回 |
boolean | isEmpty() 如果此集合不包含元素,则返回 |
Iterator<E> | iterator() 以升序返回该集合中的元素的迭代器。 |
E | last() 返回此集合中当前的最后(最高)元素。 |
E | lower(E e) 返回这个集合中最大的元素严格小于给定的元素,如果没有这样的元素,则返回 |
E | pollFirst() 检索并删除第一个(最低)元素,或返回 |
E | pollLast() 检索并删除最后一个(最高)元素,如果此集合为空,则返回 |
boolean | remove(Object o) 如果存在,则从该集合中删除指定的元素。 |
int | size() 返回此集合中的元素数(其基数)。 |
Spliterator<E> | spliterator() 在此集合中的元素上创建late-binding和故障切换 |
NavigableSet<E> | subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive) 返回该集合的部分的视图,其元素的范围从 |
SortedSet<E> | subSet(E fromElement, E toElement) 返回此集合的部分的视图,其元素的范围从 fromElement (含)到 toElement ,排他。 |
SortedSet<E> | tailSet(E fromElement) 返回此组件的元素大于或等于 fromElement的部分的视图。 |
NavigableSet<E> | tailSet(E fromElement, boolean inclusive) 返回此集合的部分的视图,其元素大于(或等于,如果 |