Module java.base
Package java.util

Class TreeSet<E>

类型参数:
E - 此集合中元素的类型
所有实现的接口:
Serializable, Cloneable, Iterable<E>, Collection<E>, NavigableSet<E>, SequencedCollection<E>, SequencedSet<E>, Set<E>, SortedSet<E>

public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, Serializable
基于 TreeMapNavigableSet 实现。元素根据它们的 自然顺序 或在创建集合时提供的 Comparator 进行排序,具体取决于使用哪个构造函数。

此实现为基本操作(addremovecontains)提供了保证的对数时间成本。

请注意,集合维护的顺序(无论是否提供了显式比较器)必须与 Set 接口的规范相一致,以便正确实现 Set 接口。如果要正确实现 Set 接口,集合的顺序必须与 equals 一致。这是因为 Set 接口是根据 equals 操作定义的,但 TreeSet 实例使用其 compareTo(或 compare)方法执行所有元素比较,因此通过此方法视为相等的两个元素在集合的角度上是相等的。即使集合的顺序与 equals 不一致,集合的行为也是明确定义的;它只是未遵守 Set 接口的一般契约。

请注意,此实现不是同步的。 如果多个线程同时访问树集,并且至少有一个线程修改了集合,则必须在外部同步。通常通过在自然封装集合的某个对象上同步来实现此目的。如果不存在这样的对象,则应在创建时使用 Collections.synchronizedSortedSet 方法对集合进行“包装”。这最好在创建时完成,以防止意外的非同步访问集合:

   SortedSet s = Collections.synchronizedSortedSet(new TreeSet(...));

此类的 iterator 方法返回的迭代器是 快速失败 的:如果在创建迭代器后的任何时间修改了集合,除了通过迭代器自身的 remove 方法之外的任何方式,迭代器将抛出 ConcurrentModificationException。因此,在面对并发修改时,迭代器会快速且干净地失败,而不是在未来的不确定时间冒险进行任意的、非确定性的行为。

请注意,迭代器的快速失败行为无法保证,因为一般来说,在存在非同步并发修改的情况下,不可能做出任何硬性保证。快速失败迭代器基于尽力而为的原则抛出 ConcurrentModificationException。因此,编写依赖此异常正确性的程序是错误的:迭代器的快速失败行为应仅用于检测错误。

此类的 addFirstaddLast 方法会抛出 UnsupportedOperationException。元素的遇到顺序由比较方法确定;因此,不支持显式定位。

此类是 Java 集合框架 的成员。

自 JDK 版本:
1.2
参见:
  • Constructor Summary

    Constructors
    Constructor
    Description
    构造一个新的空树集,根据其元素的自然顺序进行排序。
    TreeSet(Collection<? extends E> c)
    构造一个包含指定集合中元素的新树集,根据其元素的自然顺序进行排序。
    TreeSet(Comparator<? super E> comparator)
    构造一个新的空树集,根据指定的比较器进行排序。
    构造一个包含与指定排序集相同元素且使用相同顺序的新树集。
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    add(E e)
    如果此集合中尚未包含指定元素,则将其添加到集合中。
    boolean
    addAll(Collection<? extends E> c)
    将指定集合中的所有元素添加到此集合中。
    void
    addFirst(E e)
    抛出 UnsupportedOperationException
    void
    addLast(E e)
    抛出 UnsupportedOperationException
    E
    ceiling(E e)
    返回大于或等于给定元素的此集合中的最小元素,如果不存在这样的元素,则返回 null
    void
    clear()
    从此集合中移除所有元素。
    clone()
    返回此 TreeSet 实例的浅拷贝。
    Comparator<? super E>
    返回用于对此集合中的元素进行排序的比较器,如果此集合使用其元素的 自然顺序,则返回 null
    boolean
    如果此集合包含指定元素,则返回 true
    返回此集合中元素的降序迭代器。
    返回此集合中包含的元素的逆序视图。
    E
    first()
    返回此集合中当前最小(最低)的元素。
    E
    floor(E e)
    返回小于或等于给定元素的此集合中最大元素,如果不存在这样的元素,则返回 null
    headSet(E toElement)
    返回此集合中元素严格小于 toElement 的部分视图。
    headSet(E toElement, boolean inclusive)
    返回此集合中元素小于(如果 inclusive 为 true,则为小于或等于)toElement 的部分视图。
    E
    higher(E e)
    返回严格大于给定元素的此集合中的最小元素,如果不存在这样的元素,则返回 null
    boolean
    如果此集合不包含任何元素,则返回 true
    返回此集合中元素的升序迭代器。
    E
    last()
    返回此集合中当前最大(最高)的元素。
    E
    lower(E e)
    返回小于给定元素的此集合中最大元素,如果不存在这样的元素,则返回 null
    E
    检索并移除第一个(最低)元素,如果此集合为空,则返回 null
    E
    检索并移除最后一个(最高)元素,如果此集合为空,则返回 null
    boolean
    如果存在,则从此集合中移除指定元素。
    int
    size()
    返回此集合中的元素数量(基数)。
    在此集合中的元素上创建一个 延迟绑定快速失败Spliterator
    subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
    返回此集合中元素范围从 fromElementtoElement 的部分视图。
    subSet(E fromElement, E toElement)
    返回此集合中元素范围从 fromElement(包括)到 toElement(不包括)的部分视图。
    tailSet(E fromElement)
    返回此集合中元素大于或等于 fromElement 的部分视图。
    tailSet(E fromElement, boolean inclusive)
    返回此集合中元素大于(如果 inclusive 为 true,则为大于或等于)fromElement 的部分视图。

    Methods declared in class java.util.AbstractSet

    equals, hashCode, removeAll

    Methods declared in class java.util.AbstractCollection

    containsAll, retainAll, toArray, toArray, toString

    Methods declared in class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods declared in interface java.util.Collection

    parallelStream, removeIf, stream, toArray

    Methods declared in interface java.lang.Iterable

    forEach

    Methods declared in interface java.util.NavigableSet

    removeFirst, removeLast, reversed

    Methods declared in interface java.util.Set

    containsAll, equals, hashCode, removeAll, retainAll, toArray, toArray

    Methods declared in interface java.util.SortedSet

    getFirst, getLast
  • Constructor Details

    • TreeSet

      public TreeSet()
      构造一个新的空树集,根据其元素的自然顺序进行排序。插入到集合中的所有元素必须实现 Comparable 接口。此外,所有这些元素必须是 可相互比较的:对于集合中的任何元素 e1e2e1.compareTo(e2) 不得对任何元素 e1e2 抛出 ClassCastException。如果用户尝试向违反此约束的集合中添加元素(例如,用户尝试将字符串元素添加到元素为整数的集合中),则 add 调用将抛出 ClassCastException
    • TreeSet

      public TreeSet(Comparator<? super E> comparator)
      构造一个新的空树集,根据指定的比较器进行排序。插入到集合中的所有元素必须由指定比较器 可相互比较:对于集合中的任何元素 e1e2comparator.compare(e1, e2) 不得对任何元素 e1e2 抛出 ClassCastException。如果用户尝试向违反此约束的集合中添加元素,则 add 调用将抛出 ClassCastException
      参数:
      comparator - 用于对此集合进行排序的比较器。如果为 null,则使用元素的 自然顺序
    • TreeSet

      public TreeSet(Collection<? extends E> c)
      构造一个包含指定集合中元素的新树集,根据其元素的自然顺序进行排序。插入到集合中的所有元素必须实现 Comparable 接口。此外,所有这些元素必须是 可相互比较的:对于集合中的任何元素 e1e2e1.compareTo(e2) 不得对任何元素 e1e2 抛出 ClassCastException
      参数:
      c - 元素将组成新集合的集合
      抛出:
      ClassCastException - 如果 c 中的元素不是Comparable,或者不是相互可比较的
      NullPointerException - 如果指定的集合为null
    • TreeSet

      public TreeSet(SortedSet<E> s)
      构造一个包含相同元素并使用与指定排序集相同顺序的新树集。
      参数:
      s - 元素将组成新集合的排序集
      抛出:
      NullPointerException - 如果指定的排序集为null
  • Method Details

    • iterator

      public Iterator<E> iterator()
      返回一个按升序排列的此集合中元素的迭代器。
      指定者:
      iterator 在接口 Collection<E>
      指定者:
      iterator 在接口 Iterable<E>
      指定者:
      iterator 在接口 NavigableSet<E>
      指定者:
      iterator 在接口 Set<E>
      指定者:
      iterator 在类 AbstractCollection<E>
      返回:
      一个按升序排列的此集合中元素的迭代器
    • descendingIterator

      public Iterator<E> descendingIterator()
      返回一个按降序排列的此集合中元素的迭代器。
      指定者:
      descendingIterator 在接口 NavigableSet<E>
      返回:
      一个按降序排列的此集合中元素的迭代器
      自1.6起:
      1.6
    • descendingSet

      public NavigableSet<E> descendingSet()
      从接口复制的描述: NavigableSet
      返回包含此集合中元素的逆序视图。逆序集合由此集合支持,因此对集合的更改会反映在逆序集合中,反之亦然。如果在对任一集合进行迭代时修改了任一集合(除非通过迭代器自己的remove操作),则迭代的结果是未定义的。

      返回的集合具有等同于Collections.reverseOrder(comparator())的排序。表达式s.descendingSet().descendingSet()返回与s本质上等效的s视图。

      指定者:
      descendingSet 在接口 NavigableSet<E>
      返回:
      包含此集合的逆序视图
      自1.6起:
      1.6
    • size

      public int size()
      返回此集合中元素的数量(基数)。
      指定者:
      size 在接口 Collection<E>
      指定者:
      size 在接口 Set<E>
      返回:
      此集合中元素的数量(基数)
    • isEmpty

      public boolean isEmpty()
      如果此集合不包含任何元素,则返回true
      指定者:
      isEmpty 在接口 Collection<E>
      指定者:
      isEmpty 在接口 Set<E>
      覆盖:
      isEmpty 在类 AbstractCollection<E>
      返回:
      如果此集合不包含任何元素,则返回true
    • contains

      public boolean contains(Object o)
      如果此集合包含指定的元素,则返回true。更正式地说,仅当此集合包含一个元素e,使得Objects.equals(o, e)时,才返回true
      指定者:
      contains 在接口 Collection<E>
      指定者:
      contains 在接口 Set<E>
      覆盖:
      contains 在类 AbstractCollection<E>
      参数:
      o - 要在此集合中检查包含性的对象
      返回:
      如果此集合包含指定的元素,则返回true
      抛出:
      ClassCastException - 如果指定的对象无法与当前集合中的元素进行比较
      NullPointerException - 如果指定的元素为null且此集合使用自然排序,或者其比较器不允许null元素
    • add

      public boolean add(E e)
      如果尚未存在,则将指定的元素添加到此集合。更正式地说,如果集合不包含e的任何元素e2,使得Objects.equals(e, e2),则将指定的元素e添加到此集合。如果此集合已包含该元素,则调用将保持集合不变并返回false
      指定者:
      add 在接口 Collection<E>
      指定者:
      add 在接口 Set<E>
      覆盖:
      add 在类 AbstractCollection<E>
      参数:
      e - 要添加到此集合的元素
      返回:
      如果此集合尚未包含指定的元素,则返回true
      抛出:
      ClassCastException - 如果指定的对象无法与当前集合中的元素进行比较
      NullPointerException - 如果指定的元素为null且此集合使用自然排序,或者其比较器不允许null元素
    • remove

      public boolean remove(Object o)
      如果存在,则从此集合中删除指定的元素。更正式地说,如果此集合包含这样一个元素e,使得Objects.equals(o, e),则删除该元素。如果此集合包含该元素,则返回true(或者等效地,如果此集合由于调用而更改,则返回true)。(一旦调用返回,此集合将不包含该元素。)
      指定者:
      remove 在接口 Collection<E>
      指定者:
      remove 在接口 Set<E>
      覆盖:
      remove 在类 AbstractCollection<E>
      参数:
      o - 如果存在,则从此集合中移除的对象
      返回值:
      true 如果此集合包含指定的元素
      抛出:
      ClassCastException - 如果指定的对象无法与当前集合中的元素进行比较
      NullPointerException - 如果指定的元素为null并且此集合使用自然排序,或者其比较器不允许null元素
    • clear

      public void clear()
      从此集合中移除所有元素。此调用返回后,集合将为空。
      指定者:
      clear 在接口 Collection<E>
      指定者:
      clear 在接口 Set<E>
      覆盖:
      clear 在类 AbstractCollection<E>
    • addAll

      public boolean addAll(Collection<? extends E> c)
      将指定集合中的所有元素添加到此集合中。
      指定者:
      addAll 在接口 Collection<E>
      指定者:
      addAll 在接口 Set<E>
      覆盖:
      addAll 在类 AbstractCollection<E>
      参数:
      c - 包含要添加到此集合中的元素的集合
      返回值:
      true 如果此集合因调用而更改
      抛出:
      ClassCastException - 如果提供的元素无法与集合中当前元素进行比较
      NullPointerException - 如果指定的集合为null,或者任何元素为null并且此集合使用自然排序,或者其比较器不允许null元素
      参见:
    • subSet

      public NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
      从接口复制的描述: NavigableSet
      返回此集合的部分视图,其元素范围从fromElementtoElement。如果fromElementtoElement相等,则返回的集合为空,除非fromInclusivetoInclusive都为true。返回的集合由此集合支持,因此返回集合中的更改会反映在此集合中,反之亦然。返回的集合支持此集合支持的所有可选集合操作。

      尝试在其范围之外插入元素的返回集合将抛出IllegalArgumentException

      指定者:
      subSet 在接口 NavigableSet<E>
      参数:
      fromElement - 返回集合的低端点
      fromInclusive - 如果要在返回视图中包含低端点,则为true
      toElement - 返回集合的高端点
      toInclusive - 如果要在返回视图中包含高端点,则为true
      返回值:
      返回此集合的元素范围从fromElement(包括)到toElement(不包括)的视图
      抛出:
      ClassCastException - 如果无法使用此集合的比较器(或者如果集合没有比较器,则使用自然排序)将fromElementtoElement相互比较。如果fromElementtoElement无法与集合中当前元素进行比较,实现可能会但不一定会抛出此异常。
      NullPointerException - 如果fromElementtoElement为null并且此集合使用自然排序,或者其比较器不允许null元素
      IllegalArgumentException - 如果fromElement大于toElement;或者如果此集合本身具有受限范围,并且fromElementtoElement位于范围之外的边界之外。
      自1.6起:
      1.6
    • headSet

      public NavigableSet<E> headSet(E toElement, boolean inclusive)
      从接口复制的描述: NavigableSet
      返回此集合中元素小于(如果inclusive为true,则小于或等于)toElement的部分视图。返回的集合由此集合支持,因此返回集合中的更改会反映在此集合中,反之亦然。返回的集合支持此集合支持的所有可选集合操作。

      尝试在其范围之外插入元素的返回集合将抛出IllegalArgumentException

      指定者:
      headSet 在接口 NavigableSet<E>
      参数:
      toElement - 返回集合的高端点
      inclusive - 如果要在返回视图中包含高端点,则为true
      返回值:
      返回此集合中元素小于(或等于,如果inclusive为true)toElement的部分视图
      抛出:
      ClassCastException - 如果toElement与此集合的比较器不兼容(或者如果集合没有比较器,则toElement不实现Comparable)。如果无法将toElement与集合中当前元素进行比较,实现可能会但不一定会抛出此异常。
      NullPointerException - 如果toElement为null并且此集合使用自然排序,或者其比较器不允许null元素
      IllegalArgumentException - 如果此集合本身具有受限范围,并且toElement位于范围之外的边界
      自1.6起:
      1.6
    • tailSet

      public NavigableSet<E> tailSet(E fromElement, boolean inclusive)
      从接口复制的描述: NavigableSet
      返回此集合中元素大于(如果inclusive为true,则大于或等于)fromElement的部分视图。返回的集合由此集合支持,因此返回集合中的更改会反映在此集合中,反之亦然。返回的集合支持此集合支持的所有可选集合操作。

      尝试在其范围之外插入元素的返回集合将抛出IllegalArgumentException

      指定由:
      tailSet 在接口 NavigableSet<E>
      参数:
      fromElement - 返回集合的低端点
      inclusive - 如果要在返回的视图中包含低端点,则为true
      返回:
      返回此集合部分的视图,其元素大于或等于fromElement
      抛出:
      ClassCastException - 如果fromElement与此集合的比较器不兼容(或者,如果集合没有比较器,则如果fromElement不实现Comparable)。如果fromElement无法与集合中当前元素进行比较,实现可能会但不是必须抛出此异常。
      NullPointerException - 如果fromElement为null且此集合使用自然排序,或者其比较器不允许空元素
      IllegalArgumentException - 如果此集合本身具有受限范围,并且fromElement超出范围的边界
      自1.6起:
      1.6
    • subSet

      public SortedSet<E> subSet(E fromElement, E toElement)
      从接口复制的描述: NavigableSet
      返回此集合部分的视图,其元素范围从fromElement(包括)到toElement(不包括)。(如果fromElementtoElement相等,则返回的集合为空。)返回的集合由此集合支持,因此返回集合中的更改会反映在此集合中,反之亦然。返回的集合支持此集合支持的所有可选集合操作。

      尝试在其范围之外插入元素时,返回的集合将抛出IllegalArgumentException

      等同于subSet(fromElement, true, toElement, false)

      指定由:
      subSet 在接口 NavigableSet<E>
      指定由:
      subSet 在接口 SortedSet<E>
      参数:
      fromElement - 返回集合的低端点(包括)
      toElement - 返回集合的高端点(不包括)
      返回:
      返回此集合部分的视图,其元素范围从fromElement(包括)到toElement(不包括)
      抛出:
      ClassCastException - 如果fromElementtoElement无法使用此集合的比较器进行比较(或者,如果集合没有比较器,则使用自然排序)。如果fromElementtoElement无法与集合中当前元素进行比较,实现可能会但不是必须抛出此异常。
      NullPointerException - 如果fromElementtoElement为null且此集合使用自然排序,或者其比较器不允许空元素
      IllegalArgumentException - 如果fromElement大于toElement;或者如果此集合本身具有受限范围,并且fromElementtoElement超出范围的边界
    • headSet

      public SortedSet<E> headSet(E toElement)
      从接口复制的描述: NavigableSet
      返回此集合部分的视图,其元素严格小于toElement。返回的集合由此集合支持,因此返回集合中的更改会反映在此集合中,反之亦然。返回的集合支持此集合支持的所有可选集合操作。

      尝试在其范围之外插入元素时,返回的集合将抛出IllegalArgumentException

      等同于headSet(toElement, false)

      指定由:
      headSet 在接口 NavigableSet<E>
      指定由:
      headSet 在接口 SortedSet<E>
      参数:
      toElement - 返回集合的高端点(不包括)
      返回:
      返回此集合部分的视图,其元素严格小于toElement
      抛出:
      ClassCastException - 如果toElement与此集合的比较器不兼容(或者,如果集合没有比较器,则如果toElement不实现Comparable)。实现可能会但不是必须抛出此异常,如果toElement无法与集合中当前元素进行比较。
      NullPointerException - 如果toElement为null且此集合使用自然排序,或者其比较器不允许空元素
      IllegalArgumentException - 如果此集合本身具有受限范围,并且toElement超出范围的边界
    • tailSet

      public SortedSet<E> tailSet(E fromElement)
      从接口复制的描述: NavigableSet
      返回此集合部分的视图,其元素大于或等于fromElement。返回的集合由此集合支持,因此返回集合中的更改会反映在此集合中,反之亦然。返回的集合支持此集合支持的所有可选集合操作。

      尝试在其范围之外插入元素时,返回的集合将抛出IllegalArgumentException

      等同于tailSet(fromElement, true)

      指定由:
      tailSet 在接口 NavigableSet<E>
      指定由:
      tailSet 在接口 SortedSet<E>
      参数:
      fromElement - 返回集合的低端点(包括)
      返回:
      返回此集合部分的视图,其元素大于或等于fromElement
      抛出:
      ClassCastException - 如果fromElement与此集合的比较器不兼容(或者,如果集合没有比较器,则如果fromElement不实现Comparable)。实现可能会但不是必须抛出此异常,如果fromElement无法与集合中当前元素进行比较。
      NullPointerException - 如果fromElement为null且此集合使用自然排序,或者其比较器不允许空元素
      IllegalArgumentException - 如果此集合本身具有受限范围,并且fromElement超出范围的边界
    • comparator

      public Comparator<? super E> comparator()
      从接口复制的描述: SortedSet
      返回用于对此集合中的元素进行排序的比较器,如果此集合使用其元素的自然排序,则返回null
      指定由:
      comparator 在接口 SortedSet<E>
      返回:
      返回用于对此集合中的元素进行排序的比较器,如果此集合使用其元素的自然排序,则返回null
    • first

      public E first()
      从接口复制的描述: SortedSet
      返回当前在此集合中的第一个(最低)元素。
      指定由:
      first 在接口 SortedSet<E>
      返回:
      返回当前在此集合中的第一个(最低)元素
      抛出:
      NoSuchElementException - 如果此集合为空
    • last

      public E last()
      从接口复制的描述: SortedSet
      返回当前在此集合中的最后一个(最高)元素。
      指定由:
      last 在接口 SortedSet<E>
      返回:
      当前集合中的最后一个(最高)元素
      抛出:
      NoSuchElementException - 如果此集合为空
    • lower

      public E lower(E e)
      从接口中复制的描述: NavigableSet
      返回此集合中严格小于给定元素的最大元素,如果没有这样的元素,则返回null
      指定由:
      lower 在接口 NavigableSet<E>
      参数:
      e - 要匹配的值
      返回:
      小于e的最大元素,如果没有这样的元素,则返回null
      抛出:
      ClassCastException - 如果指定的元素无法与集合中当前元素进行比较
      NullPointerException - 如果指定的元素为null且此集合使用自然排序,或其比较器不允许空元素
      自:
      1.6
    • floor

      public E floor(E e)
      从接口中复制的描述: NavigableSet
      返回此集合中小于或等于给定元素的最大元素,如果没有这样的元素,则返回null
      指定由:
      floor 在接口 NavigableSet<E>
      参数:
      e - 要匹配的值
      返回:
      小于或等于e的最大元素,如果没有这样的元素,则返回null
      抛出:
      ClassCastException - 如果指定的元素无法与集合中当前元素进行比较
      NullPointerException - 如果指定的元素为null且此集合使用自然排序,或其比较器不允许空元素
      自:
      1.6
    • ceiling

      public E ceiling(E e)
      从接口中复制的描述: NavigableSet
      返回此集合中大于或等于给定元素的最小元素,如果没有这样的元素,则返回null
      指定由:
      ceiling 在接口 NavigableSet<E>
      参数:
      e - 要匹配的值
      返回:
      大于或等于e的最小元素,如果没有这样的元素,则返回null
      抛出:
      ClassCastException - 如果指定的元素无法与集合中当前元素进行比较
      NullPointerException - 如果指定的元素为null且此集合使用自然排序,或其比较器不允许空元素
      自:
      1.6
    • higher

      public E higher(E e)
      从接口中复制的描述: NavigableSet
      返回此集合中严格大于给定元素的最小元素,如果没有这样的元素,则返回null
      指定由:
      higher 在接口 NavigableSet<E>
      参数:
      e - 要匹配的值
      返回:
      大于e的最小元素,如果没有这样的元素,则返回null
      抛出:
      ClassCastException - 如果指定的元素无法与集合中当前元素进行比较
      NullPointerException - 如果指定的元素为null且此集合使用自然排序,或其比较器不允许空元素
      自:
      1.6
    • pollFirst

      public E pollFirst()
      从接口中复制的描述: NavigableSet
      检索并移除第一个(最低)元素,如果此集合为空则返回null
      指定由:
      pollFirst 在接口 NavigableSet<E>
      返回:
      第一个元素,如果此集合为空则返回null
      自:
      1.6
    • pollLast

      public E pollLast()
      从接口中复制的描述: NavigableSet
      检索并移除最后一个(最高)元素,如果此集合为空则返回null
      指定由:
      pollLast 在接口 NavigableSet<E>
      返回:
      最后一个元素,如果此集合为空则返回null
      自:
      1.6
    • addFirst

      public void addFirst(E e)
      抛出UnsupportedOperationException。由此集合的比较方法引起的遇到顺序决定元素的位置,因此不支持显式定位。
      指定由:
      addFirst 在接口 SequencedCollection<E>
      指定由:
      addFirst 在接口 SortedSet<E>
      参数:
      e - 要添加的元素
      抛出:
      UnsupportedOperationException - 总是
      自:
      21
    • addLast

      public void addLast(E e)
      抛出UnsupportedOperationException。由此集合的比较方法引起的遇到顺序决定元素的位置,因此不支持显式定位。
      指定由:
      addLast 在接口 SequencedCollection<E>
      指定由:
      addLast 在接口 SortedSet<E>
      参数:
      e - 要添加的元素。
      抛出:
      UnsupportedOperationException - 总是
      自:
      21
    • clone

      public Object clone()
      返回此TreeSet实例的浅拷贝。(元素本身不会被克隆。)
      覆盖:
      clone 在类 Object
      返回:
      此集合的浅拷贝
      参见:
    • spliterator

      public Spliterator<E> spliterator()
      创建一个延迟绑定快速失败Spliterator,用于遍历此集合中的元素。

      Spliterator报告Spliterator.SIZEDSpliterator.DISTINCTSpliterator.SORTEDSpliterator.ORDERED。重写的实现应该记录额外特征值的报告。

      如果树集的比较器(参见Spliterator.getComparator())为null,则分割器的比较器为null。否则,分割器的比较器与树集的比较器相同或施加相同的完全排序。

      指定者:
      spliterator 在接口 Collection<E>
      指定者:
      spliterator 在接口 Iterable<E>
      指定者:
      spliterator 在接口 Set<E>
      指定者:
      spliterator 在接口 SortedSet<E>
      返回:
      该集合中元素的Spliterator
      自版本:
      1.8