E - 由此集合维护的元素的类型
public interface NavigableSet<E> extends SortedSet<E>
SortedSet扩展了导航方法,报告给定搜索目标的最匹配的匹配。
方法lower , floor , ceiling和higher返回元件分别大于给定的元素小于,小于或等于,大于或等于,大于,返回null如果不存在这样的元件。
A NavigableSet可以按升序或降序进行访问和遍历。
descendingSet方法返回集合的视图,其中所有关系和方向方法的感觉都反转。
上升操作和观点的表现可能比降序更快。
该接口另外定义方法pollFirst和pollLast ,返回并移除最低和最高元素(如果存在),否则返回null 。
方法subSet , headSet和tailSet从等命名的不同SortedSet在接受描述的下限和上限是否是包含性的抗排斥附加参数的方法。
任何NavigableSet子集必须实现NavigableSet接口。
在允许null元素的实现中,导航方法的返回值可能不明确。 然而,即使在这种情况下,结果可以通过检查contains(null)来消除contains(null) 。 为了避免这样的问题,鼓励这个接口的实现不允许插入null元件。 (请注意, Comparable元素的排序集本质上不允许null ))
方法subSet(E, E) , headSet(E)和tailSet(E)被指定为返回SortedSet ,以允许现有的实现SortedSet能相容地改进来实现NavigableSet ,但鼓励扩展和该接口的实现重写这些方法返回NavigableSet 。
此接口是成员Java Collections Framework 。
| Modifier and Type | Method and Description |
|---|---|
E |
ceiling(E e)
返回此集合中最小元素大于或等于给定元素,如果没有此元素则返回
null 。
|
Iterator<E> |
descendingIterator()
以降序返回该集合中的元素的迭代器。
|
NavigableSet<E> |
descendingSet()
返回此集合中包含的元素的反向排序视图。
|
E |
floor(E e)
返回该集合中最大的元素小于或等于给定元素,如果没有这样的元素,则返回
null 。
|
SortedSet<E> |
headSet(E toElement)
返回该集合的部分的视图,其元素严格小于
toElement 。
|
NavigableSet<E> |
headSet(E toElement, boolean inclusive)
返回此集合的部分的视图,其元素小于(或等于,如果
inclusive为真)
toElement 。
|
E |
higher(E e)
返回这个集合中的最小元素严格大于给定的元素,如果没有这样的元素,则返回
null 。
|
Iterator<E> |
iterator()
以升序返回此集合中的元素的迭代器。
|
E |
lower(E e)
返回该集合中最大的元素严格小于给定的元素,如果没有这样的元素,则返回
null 。
|
E |
pollFirst()
检索并删除第一个(最低)元素,如果此集合为空,则返回
null 。
|
E |
pollLast()
检索并删除最后一个(最高)元素,如果此集合为空,则返回
null 。
|
NavigableSet<E> |
subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
返回此集合的部分的视图,其元素的范围从
fromElement到
toElement 。
|
SortedSet<E> |
subSet(E fromElement, E toElement)
返回此集合的部分的视图,其元素的范围从
fromElement (包括)到
toElement ,排他。
|
SortedSet<E> |
tailSet(E fromElement)
返回此组件的元素大于或等于
fromElement的部分的视图。
|
NavigableSet<E> |
tailSet(E fromElement, boolean inclusive)
返回此集合的部分的视图,其元素大于(或等于,如果
inclusive为真)
fromElement 。
|
comparator, first, last, spliteratoradd, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, remove, removeAll, retainAll, size, toArray, toArrayparallelStream, removeIf, streamE lower(E e)
null 。
e - 要匹配的值
e ,或
null如果没有这样的元素
ClassCastException - 如果指定的元素不能与当前集合中的元素进行比较
NullPointerException - 如果指定的元素为空,并且该集合不允许空元素
E floor(E e)
null 。
e - 要匹配的值
e ,或
null如果没有这样的元素
ClassCastException - 如果指定的元素不能与当前集合中的元素进行比较
NullPointerException - 如果指定的元素为空,并且该集合不允许空元素
E ceiling(E e)
null 。
e - 要匹配的值
e或
null如果没有这样的元素
ClassCastException - 如果指定的元素不能与当前集合中的元素进行比较
NullPointerException - 如果指定的元素为空,并且此集合不允许空元素
E higher(E e)
null 。
e - 要匹配的值
e ,或
null如果没有这样的元素
ClassCastException - 如果指定的元素不能与当前集合中的元素进行比较
NullPointerException - 如果指定的元素为空,并且该集合不允许空元素
E pollFirst()
null 。
null如果此集合为空
E pollLast()
null 。
null如果该集合为空
NavigableSet<E> descendingSet()
remove操作),迭代的结果是未定义的。
返回的集合的订购等效于Collections.reverseOrder(comparator()) 。 表达式s.descendingSet().descendingSet()返回s.descendingSet().descendingSet()的视图, s相当于s 。
Iterator<E> descendingIterator()
descendingSet().iterator() 。
NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
fromElement到toElement 。
如果fromElement和toElement相等,则返回的集合为空,除非fromInclusive和toInclusive都为真。
返回的集合由此集合支持,因此返回集合中的更改将反映在此集合中,反之亦然。
返回的集合支持该集支持的所有可选集合操作。
返回的集合将抛出一个IllegalArgumentException来尝试将元素插入其范围之外。
fromElement - 返回集合的低端点
fromInclusive -
true如果低端点要包含在返回的视图中
toElement - 返回集合的高端点
toInclusive -
true如果高端点要包含在返回的视图中
fromElement ,包括
toElement ,独占
ClassCastException - 如果fromElement和toElement不能使用该集合的比较器彼此进行比较(或者如果该集合没有比较器,则使用自然排序)。
如果fromElement或toElement不能与当前集合中的元素进行比较,则实施可能但不是必须抛出此异常。
NullPointerException - 如果
fromElement或
toElement为空,并且该集合不允许空元素
IllegalArgumentException - 如果fromElement大于toElement ;
或者如果此设置本身具有限制范围,并且fromElement或toElement位于范围的边界之外。
NavigableSet<E> headSet(E toElement, boolean inclusive)
inclusive为真) toElement 。
返回的集合由此集合支持,因此返回集合中的更改将反映在此集合中,反之亦然。
返回的集合支持该集支持的所有可选集合操作。
返回的集合将抛出一个IllegalArgumentException ,试图在其范围之外插入一个元素。
toElement - 返回集合的高端点
inclusive -
true如果高端点要包含在返回的视图中
inclusive为真)
toElement
ClassCastException - 如果toElement与此组toElement器不兼容(或者如果该集合没有比较器,则toElement不实现Comparable )。
如果toElement无法与当前集合中的元素进行比较,则实施可能但不是必须抛出此异常。
NullPointerException - 如果
toElement为空,并且此集合不允许空元素
IllegalArgumentException - 如果此设置本身具有限制范围,并且
toElement位于范围的范围之外
NavigableSet<E> tailSet(E fromElement, boolean inclusive)
inclusive为真) fromElement 。
返回的集合由此集合支持,因此返回集合中的更改将反映在此集合中,反之亦然。
返回的集合支持该集支持的所有可选集合操作。
返回的集合将抛出一个IllegalArgumentException ,试图在其范围之外插入一个元素。
fromElement - 返回集合的低端点
inclusive -
true如果低端点要包含在返回的视图中
fromElement
ClassCastException - 如果fromElement与此设置的fromElement器不兼容(或如果该集合没有比较器,则fromElement不实现Comparable )。
如果fromElement无法与当前集合中的元素进行比较,则实施可能但不是必须抛出此异常。
NullPointerException - 如果
fromElement为空,并且此集合不允许空元素
IllegalArgumentException - 如果此设置本身具有限制范围,并且
fromElement位于范围的范围之外
SortedSet<E> subSet(E fromElement, E toElement)
返回的集合将抛出一个IllegalArgumentException ,试图在其范围之外插入一个元素。
相当于subSet(fromElement, true, toElement, false) 。
subSet在界面
SortedSet<E>
fromElement - 返回集合的低端点(含)
toElement - 返回集合的高端点(独占)
ClassCastException - 如果fromElement和toElement无法使用该集合的比较器彼此进行比较(或者如果该集合没有比较器,则使用自然排序)。
如果fromElement或toElement无法与当前在集合中的元素进行比较,则实施可能但不是必须抛出此异常。
NullPointerException - 如果
fromElement或
toElement为空,并且该集合不允许空元素
IllegalArgumentException - 如果fromElement大于toElement ;
或者如果此设置本身具有限制范围,并且fromElement或toElement位于范围的范围之外
SortedSet<E> headSet(E toElement)
返回的集合将抛出一个IllegalArgumentException ,试图在其范围之外插入一个元素。
相当于headSet(toElement, false) 。
headSet在界面
SortedSet<E>
toElement - 返回集合的高端点(独占)
ClassCastException - 如果toElement与此设置的比较器不兼容(或如果该集合没有比较器,则toElement不实现Comparable )。
如果toElement无法与当前集合中的元素进行比较,则实施可能但不是必须抛出此异常。
NullPointerException - 如果
toElement为空,并且此集合不允许空元素
IllegalArgumentException - 如果此设置本身具有限制范围,并且
toElement位于范围范围之外
SortedSet<E> tailSet(E fromElement)
返回的集合将抛出一个IllegalArgumentException尝试将元素插入其范围之外。
相当于tailSet(fromElement, true) 。
tailSet在界面
SortedSet<E>
fromElement - 返回集合的低端点(含)
ClassCastException - 如果fromElement与此设置的比较器不兼容(或者如果该集合没有比较器,则fromElement不实现Comparable )。
如果fromElement无法与当前集合中的元素进行比较,则实施可能但不是必须抛出此异常。
NullPointerException - 如果
fromElement为空,并且此集合不允许空元素
IllegalArgumentException - 如果此设置本身具有限制范围,并且
fromElement位于范围的边界之外
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.