JavaTM 2 Platform
Standard Ed. 6

java.util
介面 NavigableSet<E>

型別參數:
E - 此 set 維護的元素型別
所有父級介面:
Collection<E>, Iterable<E>, Set<E>, SortedSet<E>
所有已知實作類別:
ConcurrentSkipListSet, TreeSet

public interface NavigableSet<E>
extends SortedSet<E>

擴展的 SortedSet,具有了為給定搜尋目標報告最接近比對項的導航方法。方法 lowerfloorceilinghigher 分別返回小於、小於等於、大於等於、大於給定元素的元素,如果不存在這樣的元素,則返回 null。可以按升序或降序存取和遍歷 NavigableSetdescendingSet 方法返回 set 的一個視圖,該視圖表示的所有關係方法和方向方法都是逆向的。升序操作和視圖的性能很可能比降序操作和視圖的性能要好。此外,此介面還定義了 pollFirstpollLast 方法,它們返回並移除最小和最大的元素(如果存在),否則返回 nullsubSetheadSettailSet 方法與名稱相似的 SortedSet 方法的不同之處在於:可以接受用於描述是否包括(或不包括)下邊界和上邊界的附加參數。任何 NavigableSet 的 Submap 必須實作 NavigableSet 介面。

導航方法的返回值在允許 null 元素的實作中可能是不確定的。不過,即使在這種情況下,也可以通過檢查 contains(null) 來明確結果。為了避免這樣的問題,建議在此介面的實作中 允許插入 null 元素。(注意,Comparable 元素的有序集本身不允許 null。)

subSet(E, E)headSet(E)tailSet(E) 方法被指定為返回 SortedSet,以允許現有 SortedSet 實作能相容地改進為實作 NavigableMap,但鼓勵此介面的擴展和實作覆寫這些方法以返回 NavigableSet

此介面是 Java Collections Framework 的成員。

從以下版本開始:
1.6

方法摘要
 E ceiling(E e)
          返回此 set 中大於等於給定元素的最小元素;如果不存在這樣的元素,則返回 null
 Iterator<E> descendingIterator()
          以降序返回在此 set 的元素上進行迭代的迭代器。
 NavigableSet<E> descendingSet()
          返回此 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
 Iterator<E> iterator()
          以升序返回在此 set 的元素上進行迭代的迭代器。
 E lower(E e)
          返回此 set 中嚴格小於給定元素的最大元素;如果不存在這樣的元素,則返回 null
 E pollFirst()
          獲取並移除第一個(最低)元素;如果此 set 為空,則返回 null
 E pollLast()
          獲取並移除最後一個(最高)元素;如果此 set 為空,則返回 null
 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.SortedSet 繼承的方法
comparator, first, last
 
從介面 java.util.Set 繼承的方法
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, remove, removeAll, retainAll, size, toArray, toArray
 

方法詳細資訊

lower

E lower(E e)
返回此 set 中嚴格小於給定元素的最大元素;如果不存在這樣的元素,則返回 null

參數:
e - 要比對的值
返回:
小於 e 的最大元素;如果不存在這樣的元素,則返回 null
拋出:
ClassCastException - 如果指定元素不能與 set 中的當前元素進行比較
NullPointerException - 如果指定元素為 null 並且此 set 不允許 null 元素

floor

E floor(E e)
返回此 set 中小於等於給定元素的最大元素;如果不存在這樣的元素,則返回 null

參數:
e - 要比對的值
返回:
小於等於 e 的最大元素;如果不存在這樣的元素,則返回 null
拋出:
ClassCastException - 如果指定元素不能與 set 中的當前元素進行比較
NullPointerException - 如果指定元素為 null 並且此 set 不允許 null 元素

ceiling

E ceiling(E e)
返回此 set 中大於等於給定元素的最小元素;如果不存在這樣的元素,則返回 null

參數:
e - 要比對的值
返回:
大於等於 e 的最小元素;如果不存在這樣的元素,則返回 null
拋出:
ClassCastException - 如果指定元素不能與 set 中的當前元素進行比較
NullPointerException - 如果指定元素為 null 並且此 set 不允許 null 元素

higher

E higher(E e)
返回此 set 中嚴格大於給定元素的最小元素;如果不存在這樣的元素,則返回 null

參數:
e - 要比對的值
返回:
大於 e 的最小元素;如果不存在這樣的元素,則返回 null
拋出:
ClassCastException - 如果指定元素不能與 set 中的當前元素進行比較
NullPointerException - 如果指定元素為 null 並且此 set 不允許 null 元素

pollFirst

E pollFirst()
獲取並移除第一個(最低)元素;如果此 set 為空,則返回 null

返回:
第一個元素;如果此 set 為空,則返回 null

pollLast

E pollLast()
獲取並移除最後一個(最高)元素;如果此 set 為空,則返回 null

返回:
最後一個元素;如果此 set 為空,則返回 null

iterator

Iterator<E> iterator()
以升序返回在此 set 的元素上進行迭代的迭代器。

指定者:
介面 Collection<E> 中的 iterator
指定者:
介面 Iterable<E> 中的 iterator
指定者:
介面 Set<E> 中的 iterator
返回:
以升序返回在此 set 的元素上進行迭代的迭代器

descendingSet

NavigableSet<E> descendingSet()
返回此 set 中所包含元素的逆序視圖。降序 set 受此 set 的支持,因此對此 set 的更改將反映在降序 set 中,反之亦然。如果在對任一 set 進行迭代的同時修改了任一 set(通過迭代器自己的 remove 操作除外),則迭代結果是不確定的。

返回 set 的順序等於 Collections.reverseOrder(comparator())。表達式 s.descendingSet().descendingSet() 返回的 s 視圖基本等於 s

返回:
此 set 的逆序視圖

descendingIterator

Iterator<E> descendingIterator()
以降序返回在此 set 的元素上進行迭代的迭代器。效果等同於 descendingSet().iterator()

返回:
在此 set 的元素上以降序進行迭代的迭代器

subSet

NavigableSet<E> subSet(E fromElement,
                       boolean fromInclusive,
                       E toElement,
                       boolean toInclusive)
返回此 set 的部分視圖,其元素範圍從 fromElementtoElement。如果 fromElementtoElement 相等,則返回的 set 為空,除非 fromExclusivetoExclusive 都為 true。返回的 set 受此 set 支持,所以在返回 set 中的更改將反映在此 set 中,反之亦然。返回 set 支持此 set 支持的所有可選 set 操作。

如果試圖在返回 set 的範圍之外插入元素,則返回的 set 將拋出 IllegalArgumentException

參數:
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 位於範圍的邊界之外。

headSet

NavigableSet<E> headSet(E toElement,
                        boolean inclusive)
返回此 set 的部分視圖,其元素小於(或等於,如果 inclusive 為 true)toElement。返回的 set 受此 set 支持,所以在返回 set 中的更改將反映在此 set 中,反之亦然。返回 set 支持此 set 支持的所有可選 set 操作。

如果試圖在返回 set 的範圍之外插入元素,則返回的 set 將拋出 IllegalArgumentException

參數:
toElement - 返回 set 的高端點
inclusive - 如果高端點要包含在返回的視圖中,則為 true
返回:
此 set 的部分視圖,其元素小於(或等於,如果 inclusive 為 true)toElement
拋出:
ClassCastException - 如果 toElement 與此 set 的比較器不相容(如果 set 沒有比較器;如果 toElement 沒有實作 Comparable)。如果 toElement 不能與 set 中的當前元素進行比較,則實作可以(但不是必須)拋出此異常。
NullPointerException - 如果 toElement 為 null 並且此 set 不允許 null 元素
IllegalArgumentException - 如果此 set 本身有範圍限制,並且 toElement 位於範圍的邊界之外

tailSet

NavigableSet<E> tailSet(E fromElement,
                        boolean inclusive)
返回此 set 的部分視圖,其元素大於(或等於,如果 inclusive 為 true)fromElement。返回的 set 受此 set 支持,所以在返回 set 中的更改將反映在此 set 中,反之亦然。返回 set 支持此 set 支持的所有可選 set 操作。

如果試圖在返回 set 的範圍之外插入元素,則返回的 set 將拋出 IllegalArgumentException

參數:
fromElement - 返回 set 的低端點
inclusive - 如果低端點要包含在返回的視圖中,則為 true
返回:
此 set 的部分視圖,其元素大於等於 fromElement
拋出:
ClassCastException - 如果 fromElement 與此 set 的比較器不相容(如果 set 沒有任何比較器;如果 fromElement 沒有實作 Comparable)。如果 fromElement 不能與 set 中的當前元素進行比較,則實作可以(但不是必須)拋出此異常。
NullPointerException - 如果 fromElement 為 null 並且此 set 不允許 null 元素
IllegalArgumentException - 如果此 set 本身有範圍限制,並且 fromElement 位於範圍的邊界之外

subSet

SortedSet<E> subSet(E fromElement,
                    E toElement)
返回此 set 的部分視圖,其元素從 fromElement(包括)到 toElement(不包括)。(如果 fromElementtoElement 相等,則返回空的 set)。返回的 set 受此 set 支持,所以在返回 set 中的更改將反映在此 set 中,反之亦然。返回的 set 支持此 set 支持的所有可選 set 操作。

如果試圖在返回 set 的範圍之外插入元素,則返回的 set 將拋出 IllegalArgumentException

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

指定者:
介面 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

SortedSet<E> headSet(E toElement)
返回此 set 的部分視圖,其元素嚴格小於 toElement。返回的 set 受此 set 支持,所以在返回 set 中的更改將反映在此 set 中,反之亦然。返回的 set 支持此 set 支持的所有可選 set 操作。

如果試圖在返回 set 的範圍之外插入元素,則返回的 set 將拋出 IllegalArgumentException

等效於 headSet(toElement, false)

指定者:
介面 SortedSet<E> 中的 headSet
參數:
toElement - 返回 set 的高端點(不包括)
返回:
此 set 的部分視圖,其元素嚴格小於 toElement
拋出:
ClassCastException - 如果 toElement 與此 set 的比較器不相容(如果 set 沒有比較器;如果 toElement 沒有實作 Comparable)。如果 toElement 不能與 set 中的當前元素進行比較,則實作可以(但不是必須)拋出此異常。
NullPointerException - 如果 toElement 為 null,並且此 set 不允許 null 元素
IllegalArgumentException - 如果此 set 本身有範圍限制,並且 toElement 位於範圍的邊界之外

tailSet

SortedSet<E> tailSet(E fromElement)
返回此 set 的部分視圖,其元素大於等於 fromElement。返回的 set 受此 set 支持,所以在返回 set 中的更改將反映在此 set 中,反之亦然。返回的 set 支持此 set 支持的所有可選 set 操作。

如果試圖在返回 set 的範圍之外插入元素,則返回的 set 將拋出 IllegalArgumentException

等效於 tailSet(fromElement, true)

指定者:
介面 SortedSet<E> 中的 tailSet
參數:
fromElement - 返回 set 的低端點(包括)
返回:
此 set 的部分視圖,其元素大於等於 fromElement
拋出:
ClassCastException - 如果 fromElement 與此 set 的比較器不相容(如果 set 沒有比較器;如果 fromElement 沒有實作 Comparable)。如果 fromElement 不能與 set 中的當前元素進行比較,則實作可以(但不是必須)拋出此異常。
NullPointerException - 如果 fromElement 為 null,並且此 set 不允許 null 元素
IllegalArgumentException - 如果此 set 本身有範圍限制,並且 fromElement 位於範圍的邊界之外

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only