zoukankan      html  css  js  c++  java
  • java.util 类 TreeSet<E>

    java.lang.Object
    ≥ java.util.AbstractCollection<E>
      ≥ java.util.AbstractSet<E> 
      ≥ java.util.TreeSet<E>
    所有已实现的接口:
    Serializable, Cloneable, Iterable<E>, Collection<E>, NavigableSet<E>, Set<E>, SortedSet<E> 
    构造方法摘要
    TreeSet()
              构造一个新的空 set,该 set 根据其元素的自然顺序进行排序。
    TreeSet(Collection<? extends E> c)
              构造一个包含指定 collection 元素的新 TreeSet,它按照其元素的自然顺序进行排序。
    TreeSet(Comparator<? super E> comparator)
              构造一个新的空 TreeSet,它根据指定比较器进行排序。
    TreeSet(SortedSet<E> s)
              构造一个与指定有序 set 具有相同映射关系和相同排序的新 TreeSet。
    
      
    方法摘要
     boolean add(E e)
              将指定的元素添加到此 set(如果该元素尚未存在于 set 中)。
     boolean addAll(Collection<? extends E> c)
              将指定 collection 中的所有元素添加到此 set 中。
     E ceiling(E e)
              返回此 set 中大于等于给定元素的最小元素;如果不存在这样的元素,则返回 null
     void clear()
              移除此 set 中的所有元素。
     Object clone()
              返回 TreeSet 实例的浅表副本。
     Comparator<? super E> comparator()
              返回对此 set 中的元素进行排序的比较器;如果此 set 使用其元素的自然顺序,则返回 null
     boolean contains(Object o)
              如果此 set 包含指定的元素,则返回 true
     Iterator<E> descendingIterator()
              返回在此 set 元素上按降序进行迭代的迭代器。
     NavigableSet<E> descendingSet()
              返回此 set 中所包含元素的逆序视图。
     E first()
              返回此 set 中当前第一个(最低)元素。
     E floor(E e)
              返回此 set 中小于等于给定元素的最大元素;如果不存在这样的元素,则返回 null
     SortedSet<E> headSet(E toElement)
              返回此 set 的部分视图,其元素严格小于 toElement
     NavigableSet<E> headSet(E toElement, boolean inclusive)
              返回此 set 的部分视图,其元素小于(或等于,如果 inclusive 为 true)toElement
     E higher(E e)
              返回此 set 中严格大于给定元素的最小元素;如果不存在这样的元素,则返回 null
     boolean isEmpty()
              如果此 set 不包含任何元素,则返回 true
     Iterator<E> iterator()
              返回在此 set 中的元素上按升序进行迭代的迭代器。
     E last()
              返回此 set 中当前最后一个(最高)元素。
     E lower(E e)
              返回此 set 中严格小于给定元素的最大元素;如果不存在这样的元素,则返回 null
     E pollFirst()
              获取并移除第一个(最低)元素;如果此 set 为空,则返回 null
     E pollLast()
              获取并移除最后一个(最高)元素;如果此 set 为空,则返回 null
     boolean remove(Object o)
              将指定的元素从 set 中移除(如果该元素存在于此 set 中)。
     int size()
              返回 set 中的元素数(set 的容量)。
     NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
              返回此 set 的部分视图,其元素范围从 fromElementtoElement
     SortedSet<E> subSet(E fromElement, E toElement)
              返回此 set 的部分视图,其元素从 fromElement(包括)到 toElement(不包括)。
     SortedSet<E> tailSet(E fromElement)
              返回此 set 的部分视图,其元素大于等于 fromElement
     NavigableSet<E> tailSet(E fromElement, boolean inclusive)
              返回此 set 的部分视图,其元素大于(或等于,如果 inclusive 为 true)fromElement
    
     
    从类 java.util.AbstractSet 继承的方法
    equals, hashCode, removeAll
    
     
    从类 java.util.AbstractCollection 继承的方法
    containsAll, retainAll, toArray, toArray, toString
    
     
    从类 java.lang.Object 继承的方法
    finalize, getClass, notify, notifyAll, wait, wait, wait
    
     
    从接口 java.util.Set 继承的方法
    containsAll, equals, hashCode, removeAll, retainAll, toArray, toArray
     
    方法详细信息

    iterator

    public Iterator<E> iterator()
    返回在此 set 中的元素上按升序进行迭代的迭代器。
    指定者:
    接口 Iterable<E> 中的 iterator
    指定者:
    接口 Collection<E> 中的 iterator
    指定者:
    接口 NavigableSet<E> 中的 iterator
    指定者:
    接口 Set<E> 中的 iterator
    指定者:
    AbstractCollection<E> 中的 iterator
    返回:
    在此 set 中的元素上按升序进行迭代的迭代器

    descendingIterator

    public Iterator<E> descendingIterator()
    返回在此 set 元素上按降序进行迭代的迭代器。
    指定者:
    接口 NavigableSet<E> 中的 descendingIterator
    返回:
    在此 set 元素上按降序进行迭代的迭代器
    从以下版本开始:
    1.6

    descendingSet

    public NavigableSet<E> descendingSet()
    从接口 NavigableSet 复制的描述
    返回此 set 中所包含元素的逆序视图。降序 set 受此 set 的支持,因此对此 set 的更改将反映在降序 set 中,反之亦然。如果在对任一 set 进行迭代的同时修改了任一 set(通过迭代器自己的 remove 操作除外),则迭代结果是不确定的。

    返回 set 的顺序等于 Collections.reverseOrder(comparator())。表达式 s.descendingSet().descendingSet() 返回的 s 视图基本等于 s

    指定者:
    接口 NavigableSet<E> 中的 descendingSet
    返回:
    此 set 的逆序视图
    从以下版本开始:
    1.6

    size

    public int size()
    返回 set 中的元素数(set 的容量)。
    指定者:
    接口 Collection<E> 中的 size
    指定者:
    接口 Set<E> 中的 size
    指定者:
    AbstractCollection<E> 中的 size
    返回:
    此 set 中的元素数(set 的容量)

    isEmpty

    public boolean isEmpty()
    如果此 set 不包含任何元素,则返回 true
    指定者:
    接口 Collection<E> 中的 isEmpty
    指定者:
    接口 Set<E> 中的 isEmpty
    覆盖:
    AbstractCollection<E> 中的 isEmpty
    返回:
    如果此 set 不包含任何元素,则返回 true

    contains

    public boolean contains(Object o)
    如果此 set 包含指定的元素,则返回 true。更确切地讲,当且仅当此 set 包含满足 (o==null ? e==null : o.equals(e)) 的元素 e 时,返回 true
    指定者:
    接口 Collection<E> 中的 contains
    指定者:
    接口 Set<E> 中的 contains
    覆盖:
    AbstractCollection<E> 中的 contains
    参数:
    o - 将检查是否包含在此 set 中的对象
    返回:
    如果此 set 包含指定元素,则返回 true
    抛出:
    ClassCastException - 如果指定对象无法与该 set 中的当前元素进行比较
    NullPointerException - 如果指定元素为 null,并且此 set 使用自然顺序,或者其比较器不允许使用 null 元素

    add

    public boolean add(E e)
    将指定的元素添加到此 set(如果该元素尚未存在于 set 中)。更确切地讲,如果该 set 不包含满足 (e==null ? e2==null : e.equals(e2)) 的元素 e2,则将指定元素 e 添加到此 set 中。如果此 set 已经包含这样的元素,则该调用不改变此 set 并返回 false
    指定者:
    接口 Collection<E> 中的 add
    指定者:
    接口 Set<E> 中的 add
    覆盖:
    AbstractCollection<E> 中的 add
    参数:
    e - 要添加到此 set 的对象
    返回:
    如果此 set 尚未包含指定元素,则返回 true
    抛出:
    ClassCastException - 如果指定对象无法与此 set 的当前元素进行比较
    NullPointerException - 如果指定元素为 null,并且此 set 使用自然顺序,或者其比较器不允许使用 null 元素

    remove

    public boolean remove(Object o)
    将指定的元素从 set 中移除(如果该元素存在于此 set 中)。更确切地讲,如果 set 中包含满足 (o==null ? e==null : o.equals(e)) 的元素 e,则移除一个这样的元素。如果此 set 包含这样的元素(或者此 set 由于调用而发生更改),则返回 true。(一旦调用返回,则此 set 不再包含这样的元素。)
    指定者:
    接口 Collection<E> 中的 remove
    指定者:
    接口 Set<E> 中的 remove
    覆盖:
    AbstractCollection<E> 中的 remove
    参数:
    o - 将从此 set 中移除的对象(如果存在)
    返回:
    如果此 set 包含指定元素,则返回 true
    抛出:
    ClassCastException - 如果指定对象无法与该 set 中的当前元素进行比较
    NullPointerException - 如果指定元素为 null,并且此 set 使用自然顺序,或者其比较器不允许使用 null 元素

    clear

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

    addAll

    public boolean addAll(Collection<? extends E> c)
    将指定 collection 中的所有元素添加到此 set 中。
    指定者:
    接口 Collection<E> 中的 addAll
    指定者:
    接口 Set<E> 中的 addAll
    覆盖:
    AbstractCollection<E> 中的 addAll
    参数:
    c - 包含要添加到此 set 的元素的 collection
    返回:
    如果此 set 由于调用而发生更改,则返回 true
    抛出:
    ClassCastException - 如果提供的元素无法与 set 中的当前元素进行比较
    NullPointerException - 如果指定 collection 为 null,或者任何元素为 null 并且此 set 使用自然顺序,或者其比较器不允许使用 null 元素
    另请参见:
    AbstractCollection.add(Object)

    subSet

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

    如果试图在返回 set 的范围之外插入元素,则返回的 set 将抛出 IllegalArgumentException

    指定者:
    接口 NavigableSet<E> 中的 subSet
    参数:
    fromElement - 返回 set 的低端点
    fromInclusive - 如果低端点要包含在返回的视图中,则为 true
    toElement - 返回 set 的高端点
    toInclusive - 如果高端点要包含在返回的视图中,则为 true
    返回:
    此 set 的部分视图,其元素范围从 fromElement(包括)到 toElement(不包括)
    抛出:
    ClassCastException - 如果不能使用此 set 的比较器或者使用自然顺序(如果 set 没有比较器)比较 fromElementtoElement。如果 fromElementtoElement 不能与 set 中的当前元素进行比较,则实现可以(但不是必须)抛出此异常。
    NullPointerException - 如果 fromElementtoElement 为 null,并且此 set 使用自然顺序,或者其比较器不允许使用 null 元素
    IllegalArgumentException - 如果 fromElement 大于 toElement;如果此 set 本身有范围限制,并且 fromElementtoElement 位于范围的边界之外。
    从以下版本开始:
    1.6

    headSet

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

    如果试图在返回 set 的范围之外插入元素,则返回的 set 将抛出 IllegalArgumentException

    指定者:
    接口 NavigableSet<E> 中的 headSet
    参数:
    toElement - 返回 set 的高端点
    inclusive - 如果高端点要包含在返回的视图中,则为 true
    返回:
    此 set 的部分视图,其元素小于(或等于,如果 inclusive 为 true)toElement
    抛出:
    ClassCastException - 如果 toElement 与此 set 的比较器不兼容(如果 set 没有比较器;如果 toElement 没有实现 Comparable)。如果 toElement 不能与 set 中的当前元素进行比较,则实现可以(但不是必须)抛出此异常。
    NullPointerException - 如果 toElement 为 null,并且此 set 使用自然顺序,或者其比较器不允许使用 null 元素
    IllegalArgumentException - 如果此 set 本身有范围限制,并且 toElement 位于范围的边界之外
    从以下版本开始:
    1.6

    tailSet

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

    如果试图在返回 set 的范围之外插入元素,则返回的 set 将抛出 IllegalArgumentException

    指定者:
    接口 NavigableSet<E> 中的 tailSet
    参数:
    fromElement - 返回 set 的低端点
    inclusive - 如果低端点要包含在返回的视图中,则为 true
    返回:
    此 set 的部分视图,其元素大于等于 fromElement
    抛出:
    ClassCastException - 如果 fromElement 与此 set 的比较器不兼容(如果 set 没有任何比较器;如果 fromElement 没有实现 Comparable)。如果 fromElement 不能与 set 中的当前元素进行比较,则实现可以(但不是必须)抛出此异常。
    NullPointerException - 如果 fromElement 为 null,并且此 set 使用自然顺序,或者其比较器不允许使用 null 元素
    IllegalArgumentException - 如果此 set 本身有范围限制,并且 fromElement 位于范围的边界之外
    从以下版本开始:
    1.6

    subSet

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

    如果试图在返回 set 的范围之外插入元素,则返回的 set 将抛出 IllegalArgumentException

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

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

    headSet

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

    如果试图在返回 set 的范围之外插入元素,则返回的 set 将抛出 IllegalArgumentException

    等效于 headSet(toElement, false)

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

    tailSet

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

    如果试图在返回 set 的范围之外插入元素,则返回的 set 将抛出 IllegalArgumentException

    等效于 tailSet(fromElement, true)

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

    comparator

    public Comparator<? super E> comparator()
    从接口 SortedSet 复制的描述
    返回对此 set 中的元素进行排序的比较器;如果此 set 使用其元素的自然顺序,则返回 null
    指定者:
    接口 SortedSet<E> 中的 comparator
    返回:
    用来对此 set 中的元素进行排序的比较器;如果此 set 使用其元素的自然顺序,则返回 null

    first

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

    last

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

    lower

    public E lower(E e)
    从接口 NavigableSet 复制的描述
    返回此 set 中严格小于给定元素的最大元素;如果不存在这样的元素,则返回 null
    指定者:
    接口 NavigableSet<E> 中的 lower
    参数:
    e - 要匹配的值
    返回:
    小于 e 的最大元素;如果不存在这样的元素,则返回 null
    抛出:
    ClassCastException - 如果指定元素不能与 set 中的当前元素进行比较
    NullPointerException - 如果指定元素为 null,并且此 set 使用自然顺序,或者其比较器不允许使用 null 元素
    从以下版本开始:
    1.6

    floor

    public E floor(E e)
    从接口 NavigableSet 复制的描述
    返回此 set 中小于等于给定元素的最大元素;如果不存在这样的元素,则返回 null
    指定者:
    接口 NavigableSet<E> 中的 floor
    参数:
    e - 要匹配的值
    返回:
    小于等于 e 的最大元素;如果不存在这样的元素,则返回 null
    抛出:
    ClassCastException - 如果指定元素不能与 set 中的当前元素进行比较
    NullPointerException - 如果指定元素为 null,并且此 set 使用自然顺序,或者其比较器不允许使用 null 元素
    从以下版本开始:
    1.6

    ceiling

    public E ceiling(E e)
    从接口 NavigableSet 复制的描述
    返回此 set 中大于等于给定元素的最小元素;如果不存在这样的元素,则返回 null
    指定者:
    接口 NavigableSet<E> 中的 ceiling
    参数:
    e - 要匹配的值
    返回:
    大于等于 e 的最小元素;如果不存在这样的元素,则返回 null
    抛出:
    ClassCastException - 如果指定元素不能与 set 中的当前元素进行比较
    NullPointerException - 如果指定元素为 null,并且此 set 使用自然顺序,或者其比较器不允许使用 null 元素
    从以下版本开始:
    1.6

    higher

    public E higher(E e)
    从接口 NavigableSet 复制的描述
    返回此 set 中严格大于给定元素的最小元素;如果不存在这样的元素,则返回 null
    指定者:
    接口 NavigableSet<E> 中的 higher
    参数:
    e - 要匹配的值
    返回:
    大于 e 的最小元素;如果不存在这样的元素,则返回 null
    抛出:
    ClassCastException - 如果指定元素不能与 set 中的当前元素进行比较
    NullPointerException - 如果指定元素为 null,并且此 set 使用自然顺序,或者其比较器不允许使用 null 元素
    从以下版本开始:
    1.6

    pollFirst

    public E pollFirst()
    从接口 NavigableSet 复制的描述
    获取并移除第一个(最低)元素;如果此 set 为空,则返回 null
    指定者:
    接口 NavigableSet<E> 中的 pollFirst
    返回:
    第一个元素;如果此 set 为空,则返回 null
    从以下版本开始:
    1.6

    pollLast

    public E pollLast()
    从接口 NavigableSet 复制的描述
    获取并移除最后一个(最高)元素;如果此 set 为空,则返回 null
    指定者:
    接口 NavigableSet<E> 中的 pollLast
    返回:
    最后一个元素;如果此 set 为空,则返回 null
    从以下版本开始:
    1.6

    clone

    public Object clone()
    返回 TreeSet 实例的浅表副本。(这些元素本身不被复制。)
    覆盖:
    Object 中的 clone
    返回:
    此 set 的浅表副本
  • 相关阅读:
    LeetCode 169
    LeetCode 152
    LeetCode 238
    LeetCode 42
    LeetCode 11
    GDB基本调试
    小咪买东西(最大化平均值)
    codeforces 903D
    hdu 5883
    hdu 5874
  • 原文地址:https://www.cnblogs.com/cnsdhzzl/p/5681825.html
Copyright © 2011-2022 走看看