java之Treeset

轉載自: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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章