java之Treeset

来源:互联网 发布:cydia软件源 sim 编辑:程序博客网 时间:2024/06/05 04:14

转载自:http://jingyan.baidu.com/article/4b07be3c68bd2748b380f329.html

TreeSet()          构造一个新的空 set,该 set 根据其元素的自然顺序进行排序。    

TreeSet(Collection<? extendsE> c)          构造一个包含指定 collection 元素的新 TreeSet,它按照其元素的自然顺序进行排序。    
TreeSet(Comparator<? superE> comparator)          构造一个新的空 TreeSet,它根据指定比较器进行排序。    
TreeSet(SortedSet<E> s)          构造一个与指定有序 set 具有相同映射关系和相同排序的新 TreeSet。  

1.方法摘要

boolean    add(E e)          将指定的元素添加到此 set(如果该元素尚未存在于 set 中)。    
boolean    addAll(Collection<? extendsE> c)          将指定 collection 中的所有元素添加到此 set 中。    
E ceiling(E e)          返回此 set 中大于等于给定元素的最小元素;如果不存在这样的元素,则返回null。    
void    clear()          移除此 set 中的所有元素。    
Object    clone()          返回TreeSet实例的浅表副本。    
Comparator<? superE>    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 的部分视图,其元素范围从fromElement到toElement。    
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    

2.构造方法详细信息

TreeSet publicTreeSet()
构造一个新的空 set,该 set 根据其元素的自然顺序进行排序。插入该 set 的所有元素都必须实现Comparable接口。另外,所有这些元素都必须是可互相比较的:对于 set 中的任意两个元素e1和e2,执行e1.compareTo(e2)都不得抛出ClassCastException。如果用户试图将违反此约束的元素添加到 set(例如,用户试图将字符串元素添加到其元素为整数的 set 中),则add调用将抛出ClassCastException。


TreeSet publicTreeSet(Comparator<? superE> comparator)
构造一个新的空 TreeSet,它根据指定比较器进行排序。插入到该 set 的所有元素都必须能够由指定比较器进行相互比较:对于 set 中的任意两个元素e1和e2,执行comparator.compare(e1, e2)都不得抛出ClassCastException。如果用户试图将违反此约束的元素添加到 set 中,则add调用将抛出ClassCastException。
参数:
comparator- 将用来对此 set 进行排序的比较器。如果该参数为null,则使用元素的自然顺序。


TreeSet publicTreeSet(Collection<? extendsE> c)
构造一个包含指定 collection 元素的新 TreeSet,它按照其元素的自然顺序进行排序。插入该 set 的所有元素都必须实现Comparable接口。另外,所有这些元素都必须是可互相比较的:对于 set 中的任意两个元素e1和e2,执行e1.compareTo(e2)都不得抛出ClassCastException。
参数:
c- 一个 collection,其元素将组成新的 set
抛出:
ClassCastException- 如果c中的元素不是Comparable,或者是不可相互比较的
NullPointerException- 如果指定 collection 为 null


TreeSet publicTreeSet(SortedSet<E> s)
构造一个与指定有序 set 具有相同映射关系和相同排序的新 TreeSet。
参数:
s- 一个有序 set,其元素将组成新 set
抛出:
NullPointerException- 如果指定有序 set 为 null

3.方法详细信息


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


descendingIterator
publicIterator<E>descendingIterator()
返回在此 set 元素上按降序进行迭代的迭代器。
指定者:
接口NavigableSet<E>中的descendingIterator
返回:
在此 set 元素上按降序进行迭代的迭代器


从以下版本开始:
1.6
descendingSet
publicNavigableSet<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 intsize()
返回 set 中的元素数(set 的容量)。
指定者:
接口Collection<E>中的size
指定者:
接口Set<E>中的size
指定者:
类AbstractCollection<E>中的size
返回:
此 set 中的元素数(set 的容量)


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


contains
public booleancontains(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 booleanadd(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 booleanremove(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 voidclear()
移除此 set 中的所有元素。在此调用返回之后,set 将为空。
指定者:
接口Collection<E>中的clear
指定者:
接口Set<E>中的clear
覆盖:
类AbstractCollection<E>中的clear


addAll
public booleanaddAll(Collection<? extendsE> 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
publicNavigableSet<E>subSet(E fromElement, boolean fromInclusive,E toElement, boolean toInclusive)
从接口NavigableSet复制的描述:返回此 set 的部分视图,其元素范围从fromElement到toElement。如果fromElement和toElement相等,则返回的 set 为空,除fromExclusive和toExclusive都为 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 没有比较器)比较fromElement和toElement。如果fromElement或toElement不能与 
set 中的当前元素进行比较,则实现可以(但不是必须)抛出此异常。
NullPointerException- 如果fromElement或toElement为 null,并且此 set 使用自然顺序,或者其比较器不允许使用 null 元素
IllegalArgumentException- 如果fromElement大于toElement;如果此 set 本身有范围限制,并且fromElement或toElement位于范围的边界之外。


从以下版本开始:
1.6
headSet
publicNavigableSet<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
publicNavigableSet<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
publicSortedSet<E> subSet(E fromElement, E toElement)
从接口NavigableSet复制的描述:返回此 set 的部分视图,其元素从fromElement(包括)到toElement(不包括)。(如果fromElement和toElement相等,则返回空的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 没有比较器,则使用自然顺序)比较fromElement和toElement。如果fromElement或toElement不能与 set 
中的当前元素进行比较,则实现可以(但不是必须)抛出此异常。
NullPointerException- 如果fromElement或toElement为 null,并且此 set 使用自然顺序,或者其比较器不允许使用 null 元素
IllegalArgumentException- 如果fromElement大于toElement;如果此 set 本身有范围限制,并且fromElement或toElement位于范围的边界之外


headSet
publicSortedSet<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 的浅表副本
另请参见:Cloneable
0 0