-
- 参数类型
-
E
- 此集维护的元素类型
- All Superinterfaces:
-
Collection<E>
,Iterable<E>
,Set<E>
,SortedSet<E>
- 所有已知实现类:
-
ConcurrentSkipListSet
,TreeSet
public interface NavigableSet<E> extends SortedSet<E>
扩展了导航方法的SortedSet
报告了给定搜索目标的最接近匹配。 方法lower(E)
,floor(E)
,ceiling(E)
,和higher(E)
个返回元件分别大于给定的元素小于,小于或等于,大于或等于,大于,返回null
如果不存在这样的元件。可以按升序或降序访问和遍历
NavigableSet
。descendingSet()
方法返回集合的视图,其中所有关系和方向方法的感知都被反转。 升序操作和视图的性能可能比降序操作的速度快。 此接口还定义了方法pollFirst()
和pollLast()
,它们返回并删除最低和最高元素(如果存在),否则返回null
。 方法subSet(E, boolean, E, boolean)
,headSet(E, boolean)
,和tailSet(E, boolean)
从等命名的不同SortedSet
在接受描述的下限和上限是否是包含性的抗排斥附加参数的方法。 任何NavigableSet
子集必须实现NavigableSet
接口。在允许
null
元素的实现中,导航方法的返回值可能不明确。 但是,即使在这种情况下,也可以通过选中contains(null)
来消除歧义。 为了避免这样的问题,鼓励这个接口的实现不允许插入null
元件。 (请注意,排序的Comparable
个元素本身不允许null
)方法
subSet(E, E)
,headSet(E)
和tailSet(E)
被指定为返回SortedSet
允许现有的实现SortedSet
能相容地改进来实现NavigableSet
,但鼓励扩展和该接口的实现重写这些方法返回NavigableSet
。此接口是Java Collections Framework的成员。
- 从以下版本开始:
- 1.6
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 E
ceiling(E e)
返回此set中大于或等于给定元素的null
元素,如果没有这样的元素,则null
。Iterator<E>
descendingIterator()
以降序返回此集合中元素的迭代器。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)
返回此集合中的最小元素严格大于给定元素,如果没有这样的元素,则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)
返回此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.Collection
parallelStream, removeIf, stream, toArray
-
声明方法的接口 java.util.Set
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, remove, removeAll, retainAll, size, toArray, toArray
-
声明方法的接口 java.util.SortedSet
comparator, first, last, spliterator
-
-
-
-
方法详细信息
-
lower
E lower(E e)
返回此集合中的最大元素严格小于给定元素,如果没有这样的元素,则null
。- 参数
-
e
- 要匹配的值 - 结果
-
最大元素小于
e
,如果没有这样的元素null
- 异常
-
ClassCastException
- 如果指定的元素无法与集合中当前的元素进行比较 -
NullPointerException
- 如果指定的元素为null且此set不允许null元素
-
floor
E floor(E e)
返回此set中小于或等于给定元素的最大元素,如果没有这样的元素,则null
。- 参数
-
e
- 要匹配的值 - 结果
-
e
元素小于或等于e
,如果没有这样的元素null
- 异常
-
ClassCastException
- 如果指定的元素无法与集合中当前的元素进行比较 -
NullPointerException
- 如果指定的元素为null且此set不允许null元素
-
ceiling
E ceiling(E e)
返回此set中大于或等于给定元素的null
元素,如果没有这样的元素,则null
。- 参数
-
e
- 要匹配的值 - 结果
-
最小元素大于或等于
e
,如果没有这样的元素null
- 异常
-
ClassCastException
- 如果指定的元素无法与集合中当前的元素进行比较 -
NullPointerException
- 如果指定的元素为null,并且此set不允许null元素
-
higher
E higher(E e)
返回此集合中的最小元素严格大于给定元素,如果没有这样的元素,则null
。- 参数
-
e
- 要匹配的值 - 结果
-
最小元素大于
e
,如果没有这样的元素null
- 异常
-
ClassCastException
- 如果指定的元素无法与集合中当前的元素进行比较 -
NullPointerException
- 如果指定的元素为null且此set不允许null元素
-
pollFirst
E pollFirst()
检索并删除第一个(最低)元素,如果此组为空,则返回null
。- 结果
-
第一个元素,如果此集合为空,
null
-
pollLast
E pollLast()
检索并删除最后一个(最高)元素,如果此组为空,则返回null
。- 结果
-
最后一个元素,如果此组为空,
null
-
descendingSet
NavigableSet<E> descendingSet()
返回此set中包含的元素的逆序视图。 降序集由此集支持,因此对集的更改将反映在降序集中,反之亦然。 如果在任一集上的迭代正在进行时修改了任一集(除了通过迭代器自己的remove
操作),迭代的结果是未定义的。返回的集合的订购量等于
Collections.reverseOrder
(comparator())
。 表达式s.descendingSet().descendingSet()
返回s.descendingSet().descendingSet()
的视图,s
等效于s
。- 结果
- 该集的逆序视图
-
descendingIterator
Iterator<E> descendingIterator()
以降序返回此集合中元素的迭代器。 相当于descendingSet().iterator()
。- 结果
- 这个集合中元素的迭代器,按降序排列
-
subSet
NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
返回此set的部分视图,其元素范围为fromElement
到toElement
。 如果fromElement
和toElement
相等,则返回的集合为空,除非fromInclusive
和toInclusive
都为真。 返回的集由此集支持,因此返回集中的更改将反映在此集中,反之亦然。 返回的集支持此集支持的所有可选集操作。返回的集合将尝试在其范围之外插入元素时抛出
IllegalArgumentException
。- 参数
-
fromElement
- 返回集的低端点 -
fromInclusive
-true
如果true
低端点包含在返回的视图中 -
toElement
- 返回集的高端点 -
toInclusive
-true
如果true
高端点包含在返回的视图中 - 结果
-
此集合的部分视图,其元素范围从
fromElement
(含),到toElement
,独占 - 异常
-
ClassCastException
- 如果fromElement
和toElement
无法使用此组的比较器相互比较(或者,如果该组没有比较器,则使用自然排序)。 如果无法将fromElement
或toElement
与当前集合中的元素进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException
- 如果fromElement
或toElement
为null且此set不允许null元素 -
IllegalArgumentException
- 如果fromElement
大于toElement
; 或者如果此集合本身具有受限范围,则fromElement
或toElement
位于范围的范围之外。
-
headSet
NavigableSet<E> headSet(E toElement, boolean inclusive)
返回此set的部分视图,其元素小于(或等于,如果inclusive
为true)toElement
。 返回的集由此集支持,因此返回集中的更改将反映在此集中,反之亦然。 返回的集支持此集支持的所有可选集操作。返回的集合将尝试在其范围之外插入元素时抛出
IllegalArgumentException
。- 参数
-
toElement
- 返回集的高端点 -
inclusive
-true
如果true
高端点包含在返回的视图中 - 结果
-
该集合的部分视图,其元素小于(或等于,如果
inclusive
为真)toElement
- 异常
-
ClassCastException
- 如果toElement
与该组的比较器不兼容(或者,如果该组没有比较器,如果toElement
未实现Comparable
)。 如果无法将toElement
与当前集合中的元素进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException
- 如果toElement
为null且此set不允许null元素 -
IllegalArgumentException
- 如果此设置本身具有受限范围,并且toElement
位于范围的范围之外
-
tailSet
NavigableSet<E> tailSet(E fromElement, boolean inclusive)
返回此set的部分视图,其元素大于(或等于,如果inclusive
为true)fromElement
。 返回的集由此集支持,因此返回集中的更改将反映在此集中,反之亦然。 返回的集支持此集支持的所有可选集操作。返回的集合将尝试在其范围之外插入元素时抛出
IllegalArgumentException
。- 参数
-
fromElement
- 返回集的低端点 -
inclusive
-true
如果true
低端点包含在返回的视图中 - 结果
-
该集合的部分视图,其元素大于或等于
fromElement
- 异常
-
ClassCastException
- 如果fromElement
与此组的比较器不兼容(或者,如果该组没有比较器,如果fromElement
未实现Comparable
)。 如果无法将fromElement
与当前集合中的元素进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException
- 如果fromElement
为null且此set不允许null元素 -
IllegalArgumentException
- 如果此设置本身具有受限范围,并且fromElement
位于范围的范围之外
-
subSet
SortedSet<E> subSet(E fromElement, E toElement)
返回此set的部分视图,其元素范围从fromElement
(含)到toElement
(独占)。 (如果fromElement
和toElement
相等,则返回的集合为空。)返回的集由此集支持,因此返回集中的更改将反映在此集中,反之亦然。 返回的集支持此集支持的所有可选集操作。返回的集合将尝试在其范围之外插入元素时抛出
IllegalArgumentException
。相当于
subSet(fromElement, true, toElement, false)
。- Specified by:
-
subSet
在界面SortedSet<E>
- 参数
-
fromElement
- 返回集的低端点(包括) -
toElement
- 返回集的高端点(不包括) - 结果
-
此集合的部分视图,其元素范围从
fromElement
(含)到toElement
,独占 - 异常
-
ClassCastException
- 如果fromElement
和toElement
无法使用此组的比较器相互比较(或者,如果该组没有比较器,则使用自然排序)。 如果无法将fromElement
或toElement
与当前集合中的元素进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException
- 如果fromElement
或toElement
为null且此set不允许null元素 -
IllegalArgumentException
- 如果fromElement
大于toElement
; 或者如果此设置本身具有受限范围,并且fromElement
或toElement
位于范围的范围之外
-
headSet
SortedSet<E> headSet(E toElement)
返回此set的部分视图,其元素严格小于toElement
。 返回的集由此集支持,因此返回集中的更改将反映在此集中,反之亦然。 返回的集支持此集支持的所有可选集操作。返回的集合将尝试在其范围之外插入元素时抛出
IllegalArgumentException
。相当于
headSet(toElement, false)
。- Specified by:
-
headSet
在界面SortedSet<E>
- 参数
-
toElement
- 返回集的高端点(不包括) - 结果
-
该集合的部分视图,其元素严格小于
toElement
- 异常
-
ClassCastException
- 如果toElement
与此组的比较器不兼容(或者,如果该组没有比较器,则toElement
未实现Comparable
)。 如果无法将toElement
与当前集合中的元素进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException
- 如果toElement
为null且此set不允许null元素 -
IllegalArgumentException
- 如果此设置本身具有受限范围,并且toElement
位于范围的范围之外
-
tailSet
SortedSet<E> tailSet(E fromElement)
返回此set的部分视图,其元素大于或等于fromElement
。 返回的集由此集支持,因此返回集中的更改将反映在此集中,反之亦然。 返回的集支持此集支持的所有可选集操作。返回的集合将尝试在其范围之外插入元素时抛出
IllegalArgumentException
。相当于
tailSet(fromElement, true)
。- Specified by:
-
tailSet
在界面SortedSet<E>
- 参数
-
fromElement
- 返回集的低端点(包括) - 结果
-
该集合的部分视图,其元素大于或等于
fromElement
- 异常
-
ClassCastException
- 如果fromElement
与此组的比较器不兼容(或者,如果该组没有比较器,如果fromElement
未实现Comparable
)。 如果无法将fromElement
与当前集合中的元素进行比较,则实现可能(但不是必须)抛出此异常。 -
NullPointerException
- 如果fromElement
为null且此set不允许null元素 -
IllegalArgumentException
- 如果此集合本身具有受限范围,并且fromElement
位于范围的范围之外
-
-