E -元素这一套保持型
public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, Serializable
TreeMap
NavigableSet实施。用他们的
natural ordering元素是有序的,或由
Comparator在设定的创作时间,这取决于使用哪个构造函数。
这种实现提供保证日志(N)为基本操作的时间成本(add,remove和contains)。
注意:订购一套维护(是否提供一个明确的比较器)必须符合等于如果是正确执行Set接口。(见Comparable或Comparator为符合等于。精确的定义)这是因为Set接口在equals操作定义,但TreeSet实例执行所有的元素进行比较使用compareTo(或compare)方法,所以两元素被视为平等的方法是,从集合的角度,平等。一套是明确即使订货不等于行为;它只是不服从的Set接口一般合同。
请注意,此实现不同步。如果多个线程访问一个树集的同时,并至少有一个线程修改的集合,它必须同步外部。这通常是通过同步的一些对象,自然封装设置完成。如果该对象不存在,设定应该是“包裹”使用Collections.synchronizedSortedSet方法。最好的做法是在创建时,防止意外的非同步访问的设置:
SortedSet s =集合。synchronizedsortedset(新TreeSet(…));
迭代器返回这个类的方法是iterator快速失败:如果集合在迭代器是创建的任何时间修改,以任何方式除了通过迭代器的remove方法,迭代器将抛出一个ConcurrentModificationException。因此,在并发修改的面前,迭代器失败迅速和干净,而不是冒着任意的,非确定性的行为在未来的一个不确定的时间。
注意迭代器不能快速失败行为得到保证的话,一般来说,不可能在不同步的并发修改的存在作出难以保证。快速失败迭代器扔ConcurrentModificationException尽最大努力的基础上。因此,要写一个程序,依靠这一例外的正确性错误:快速失败迭代器的行为只能用来检测错误。
这个班的一员 Java Collections Framework。
Collection,
Set,
HashSet,
Comparable,
Comparator,
TreeMap,
Serialized Form
| Constructor and Description |
|---|
TreeSet()
构造一个新的、空的树集,根据其元素的自然排序进行排序。
|
TreeSet(Collection<? extends E> c)
构造一个新的树集包含在指定集合的元素,根据其元素的自然排序排序。
|
TreeSet(Comparator<? super E> comparator)
构造一个新的、空的树集,根据指定的比较器进行排序。
|
TreeSet(SortedSet<E> s)
构造一个包含相同元素的新树集,并使用相同的排序作为指定的排序集。
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(E e)
如果没有已存在,则将指定的元素添加到该集合中。
|
boolean |
addAll(Collection<? extends E> c)
将指定集合中的所有元素添加到该集合中。
|
E |
ceiling(E e)
返回最小的元素在这组大于或等于给定的元素,或
null如果没有这样的元素。
|
void |
clear()
从这个集合中移除所有的元素。
|
Object |
clone()
返回该
TreeSet实例浅拷贝。
|
Comparator<? super E> |
comparator()
返回用于命令set中元素的比较,或
null如果使用此设置元素的
natural ordering。
|
boolean |
contains(Object o)
如果这套
true返回包含指定的元素。
|
Iterator<E> |
descendingIterator()
在这个集合中的元素上返回一个迭代器。
|
NavigableSet<E> |
descendingSet()
返回此集合中包含的元素的反向顺序视图。
|
E |
first()
返回当前在该集合中的第一个(最低的)元素。
|
E |
floor(E e)
返回最大的元素在这组小于或等于给定的元素,或
null如果没有这样的元素。
|
SortedSet<E> |
headSet(E toElement)
返回从这个集合的元素是严格小于
toElement部分。
|
NavigableSet<E> |
headSet(E toElement, boolean inclusive)
返回从这个集合的元素都小于(或等于部分,如果
inclusive是真的)
toElement。
|
E |
higher(E e)
返回最小的元素在这套严格大于给定的元素,或
null如果没有这样的元素。
|
boolean |
isEmpty()
返回
true如果这个集合不包含元素。
|
Iterator<E> |
iterator()
在这个集合中的元素上返回一个迭代器。
|
E |
last()
返回当前在该集合中的最后(最高)元素。
|
E |
lower(E e)
返回最大的元素在这套严格小于给定的元素,或
null如果没有这样的元素。
|
E |
pollFirst()
检索并移除第一(最低)的元素,或返回
null如果这集是空的。
|
E |
pollLast()
检索和删除最后(最高)的元素,或返回
null如果这集是空的。
|
boolean |
remove(Object o)
如果当前存在,则从该集合中移除指定的元素。
|
int |
size()
返回该集合中元素个数(其基数)。
|
Spliterator<E> |
spliterator()
创建一个后期绑定和快速失败
Spliterator在这个集合中的元素。
|
NavigableSet<E> |
subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
返回从这个集合的元素范围从
fromElement到
toElement部分。
|
SortedSet<E> |
subSet(E fromElement, E toElement)
返回从这个集合的元素范围从
fromElement,包容的部分
toElement,独家。
|
SortedSet<E> |
tailSet(E fromElement)
返回从这个集合的元素都大于或等于
fromElement部分。
|
NavigableSet<E> |
tailSet(E fromElement, boolean inclusive)
返回从这个集合的元素大于部分(或相等,如果
inclusive是真的)
fromElement。
|
equals, hashCode, removeAllcontainsAll, retainAll, toArray, toArray, toStringfinalize, getClass, notify, notifyAll, wait, wait, waitcontainsAll, equals, hashCode, removeAll, retainAll, toArray, toArrayparallelStream, removeIf, streampublic TreeSet()
Comparable接口。此外,所有这些元素必须相互比较:
e1.compareTo(e2)不得把任何元素
e1和
e2集合中的
ClassCastException。如果用户试图违反此约束集合添加一个元素(例如,用户尝试一系列的元素添加一个字符串,整数单元)的
add称将
ClassCastException。
public TreeSet(Comparator<? super E> comparator)
comparator.compare(e1, e2)必须不把任何一个元素
e1和
e2集合中的
ClassCastException。如果用户试图违反此约束的集合添加一个元素,该
add称将
ClassCastException。
comparator -比较器将用于订购这套。如果
null,元素的
natural ordering将使用。
public TreeSet(Collection<? extends E> c)
Comparable接口。此外,所有这些元素必须相互比较:
e1.compareTo(e2)不得把任何元素
e1和
e2集合中的
ClassCastException。
c采集的元素将包括新的设置
ClassCastException -如果
c元素不是
Comparable,或互不可比
NullPointerException -如果指定集合为空
public TreeSet(SortedSet<E> s)
s分类集合的元素将包括新的设置
NullPointerException -如果指定的排序设置为null
public Iterator<E> iterator()
iterator 接口
Iterable<E>
iterator 接口
Collection<E>
iterator 接口
NavigableSet<E>
iterator 接口
Set<E>
iterator 方法重写,继承类
AbstractCollection<E>
public Iterator<E> descendingIterator()
descendingIterator 接口
NavigableSet<E>
public NavigableSet<E> descendingSet()
NavigableSet
remove操作),迭代的结果是不确定的。
返回的集合具有订购相当于Collections.reverseOrder(comparator())。表达s.descendingSet().descendingSet()返回从s本质上相当于s。
descendingSet 接口
NavigableSet<E>
public int size()
size 接口
Collection<E>
size 接口
Set<E>
size 方法重写,继承类
AbstractCollection<E>
public boolean isEmpty()
true如果这个集合不包含元素。
isEmpty 接口
Collection<E>
isEmpty 接口
Set<E>
isEmpty 方法重写,继承类
AbstractCollection<E>
true如果这个集合不包含元素
public boolean contains(Object o)
true返回包含指定的元素。更正式地说,返回
true当且仅当本集包含一个元素
e这样
(o==null ? e==null : o.equals(e))。
contains 接口
Collection<E>
contains 接口
Set<E>
contains 方法重写,继承类
AbstractCollection<E>
o对象要检查这套壳
true包含指定的元素
ClassCastException -如果不指定对象与当前集合中的元素进行比较
NullPointerException -如果指定元素为null,这套采用自然排序,或者比较不允许null元素
public boolean add(E e)
e这套如果集合不包含元素
e2这样
(e==null ? e2==null : e.equals(e2))。如果这一套已经包含元素,电话离开设定不变,返回
false。
add 接口
Collection<E>
add 接口
Set<E>
add 方法重写,继承类
AbstractCollection<E>
e元素被添加到这个组
true已经不包含指定的元素
ClassCastException -如果没有指定的对象是目前在这个集合中的元素进行比较
NullPointerException -如果指定元素为null,这套采用自然排序,或者比较不允许null元素
public boolean remove(Object o)
e这样
(o==null ? e==null : o.equals(e)),如果这个集合包含的元素。返回
true如果这组包含的元素(或等价的,如果调用的结果这套改)。(此设置将不包含调用返回的元素。)
remove 接口
Collection<E>
remove 接口
Set<E>
remove 方法重写,继承类
AbstractCollection<E>
o对象要从组中删除,如果存在
true包含指定元素
ClassCastException -如果没有指定的对象是目前在这个集合中的元素进行比较
NullPointerException -如果指定元素为null,这套采用自然排序,或者比较不允许null元素
public void clear()
clear 接口
Collection<E>
clear 接口
Set<E>
clear 方法重写,继承类
AbstractCollection<E>
public boolean addAll(Collection<? extends E> c)
addAll 接口
Collection<E>
addAll 接口
Set<E>
addAll 方法重写,继承类
AbstractCollection<E>
c收集含有元素被添加到这个组
true如果调用的结果这一套了
ClassCastException如果提供的元素不能与当前集合中的元素进行比较
NullPointerException -如果任何元素为null,这套以自然顺序指定集合为空或,或比较不允许null元素
AbstractCollection.add(Object)
public NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
NavigableSet
fromElement到
toElement部分。如果
fromElement和
toElement相等,返回的集合是空的,除非
fromInclusive
toInclusive都是真实的。返回的集合是由这组支持的,所以返回的集合的变化反映在这个集合中,反之亦然。返回的集合支持此设置支持的所有可选集操作。
返回的集合将扔在试图插入一个元素在其范围内的IllegalArgumentException。
subSet 接口
NavigableSet<E>
fromElement -返回设置低端点
fromInclusive -
true如果低的终点是被包含在返回的视图
toElement -返回集合点
toInclusive -
true如果高终点是被包含在返回的视图
fromElement,包容的部分
toElement,独家
ClassCastException -如果
fromElement和
toElement无法相比的另一个使用这个设置的比较器(或者,如果无比较器,采用自然排序)。实现可能,但不是必需的,如果
fromElement或
toElement不能相比,目前在集合元素抛出该异常。
NullPointerException -如果
fromElement或
toElement是无效的,这套以自然顺序,或比较不允许null元素
IllegalArgumentException -如果
fromElement大于
toElement;或者如果这集本身有一个限制的范围内,和
fromElement或
toElement超出范围的界限。
public NavigableSet<E> headSet(E toElement, boolean inclusive)
NavigableSet
inclusive是真的)
toElement。返回的集合是由这组支持的,所以返回的集合的变化反映在这个集合中,反之亦然。返回的集合支持此设置支持的所有可选集操作。
返回的集合将扔在试图插入一个元素在其范围内的IllegalArgumentException。
headSet 接口
NavigableSet<E>
toElement -返回集合点
inclusive -
true如果高终点是被包含在返回的视图
inclusive是真的)
toElement
ClassCastException -如果
toElement不是这集的比较器(或兼容,如果设置没有比较,如果
toElement不实现
Comparable)。实现可能,但不是必需的,如果
toElement不能相比,目前在集合元素抛出该异常。
toElement
NullPointerException是无效的,这套以自然顺序,或比较不允许null元素
IllegalArgumentException -如果这套本身有一个限制的范围内,和
toElement超出范围的界限
public NavigableSet<E> tailSet(E fromElement, boolean inclusive)
NavigableSet
inclusive是真的)
fromElement。返回的集合是由这组支持的,所以返回的集合的变化反映在这个集合中,反之亦然。返回的集合支持此设置支持的所有可选集操作。
返回的集合将扔在试图插入一个元素在其范围内的IllegalArgumentException。
tailSet 接口
NavigableSet<E>
fromElement -返回设置低端点
inclusive -
true如果低的终点是被包含在返回的视图
fromElement部分
ClassCastException -如果
fromElement不是这集的比较器(或兼容,如果设置没有比较,如果
fromElement不实现
Comparable)。实现可能,但不是必需的,如果
fromElement不能相比,目前在集合元素抛出该异常。
fromElement
NullPointerException是无效的,这套以自然顺序,或比较不允许null元素
IllegalArgumentException -如果这套本身有一个限制的范围内,和
fromElement超出范围的界限
public SortedSet<E> subSet(E fromElement, E toElement)
NavigableSet
返回的集合将扔在试图插入一个元素在其范围内的IllegalArgumentException。
相当于subSet(fromElement, true, toElement, false)。
subSet 接口
NavigableSet<E>
subSet 接口
SortedSet<E>
fromElement低端点(含)返回的集合的
toElement高端点(独家)返回的集合的
ClassCastException -如果
fromElement和
toElement无法相比的另一个使用这个设置的比较器(或者,如果无比较器,采用自然排序)。实现可能,但不是必需的,如果
fromElement或
toElement不能相比,目前在集合元素抛出该异常。
NullPointerException -如果
fromElement或
toElement是无效的,这套以自然顺序,或比较不允许null元素
IllegalArgumentException -如果
fromElement大于
toElement;或者如果这集本身有一个限制的范围内,和
fromElement或
toElement超出范围的界限
public SortedSet<E> headSet(E toElement)
NavigableSet
返回的集合将扔在试图插入一个元素在其范围内的IllegalArgumentException。
相当于headSet(toElement, false)。
headSet 接口
NavigableSet<E>
headSet 接口
SortedSet<E>
toElement高端点(独家)返回的集合的
ClassCastException -如果
toElement不是这集的比较器(或兼容,如果设置没有比较,如果
toElement不实现
Comparable)。实现可能,但不是必需的,如果
toElement不能相比,目前在集合元素抛出该异常。
toElement
NullPointerException是无效的,这套以自然顺序,或比较不允许null元素
IllegalArgumentException -如果这套本身有一个限制的范围内,和
toElement超出范围的界限
public SortedSet<E> tailSet(E fromElement)
NavigableSet
返回的集合将扔在试图插入一个元素在其范围内的IllegalArgumentException。
相当于tailSet(fromElement, true)。
tailSet 接口
NavigableSet<E>
tailSet 接口
SortedSet<E>
fromElement低端点(含)返回的集合的
ClassCastException -如果
fromElement不是这集的比较器(或兼容,如果设置没有比较,如果
fromElement不实现
Comparable)。实现可能,但不是必需的,如果
fromElement不能相比,目前在集合元素抛出该异常。
fromElement
NullPointerException是无效的,这套以自然顺序,或比较不允许null元素
IllegalArgumentException -如果这套本身有一个限制的范围内,和
fromElement超出范围的界限
public Comparator<? super E> comparator()
SortedSet
comparator 接口
SortedSet<E>
public E first()
SortedSet
first 接口
SortedSet<E>
NoSuchElementException -如果这集是空的
public E last()
SortedSet
last 接口
SortedSet<E>
NoSuchElementException -如果这集是空的
public E lower(E e)
NavigableSet
null如果没有这样的元素。
lower 接口
NavigableSet<E>
e的价值相匹配
e,或
null如果没有这样的元素
ClassCastException如果不能指定元素与当前集合中的元素相比
NullPointerException -如果指定元素为null,这套采用自然排序,或者比较不允许null元素
public E floor(E e)
NavigableSet
null如果没有这样的元素。
floor 接口
NavigableSet<E>
e的价值相匹配
e,或
null如果没有这样的元素
ClassCastException如果不能指定元素与当前集合中的元素相比
NullPointerException -如果指定元素为null,这套采用自然排序,或者比较不允许null元素
public E ceiling(E e)
NavigableSet
null如果没有这样的元素。
ceiling 接口
NavigableSet<E>
e的价值相匹配
e最小元素,或
null如果没有这样的元素
ClassCastException如果不能指定元素与当前集合中的元素相比
NullPointerException -如果指定元素为null,这套采用自然排序,或者比较不允许null元素
public E higher(E e)
NavigableSet
null如果没有这样的元素。
higher 接口
NavigableSet<E>
e的价值相匹配
e最小元素,或
null如果没有这样的元素
ClassCastException如果不能指定元素与当前集合中的元素相比
NullPointerException -如果指定元素为null,这套采用自然排序,或者比较不允许null元素
public E pollFirst()
NavigableSet
null如果这集是空的。
pollFirst 接口
NavigableSet<E>
null如果这集是空的
public E pollLast()
NavigableSet
null如果这集是空的。
pollLast 接口
NavigableSet<E>
null如果这集是空的
public Object clone()
TreeSet实例浅拷贝。(这些元素本身没有被克隆。)
public Spliterator<E> spliterator()
Spliterator在这个集合中的元素。
报告的Spliterator Spliterator.SIZED,Spliterator.DISTINCT,Spliterator.SORTED,和Spliterator.ORDERED。重写实现应记录附加特征值的报告。
的spliterator的比较器(见Spliterator.getComparator())是null如果树集的比较(见comparator())是null。否则的spliterator的比较器相同或施加相同的总排序为树集的比较。
spliterator 接口
Iterable<E>
spliterator 接口
Collection<E>
spliterator 接口
Set<E>
spliterator 接口
SortedSet<E>
Spliterator
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.