-
- 参数类型
-
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
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 Eceiling(E e)返回此set中大于或等于给定元素的null元素,如果没有这样的元素,则null。Iterator<E>descendingIterator()以降序返回此集合中元素的迭代器。NavigableSet<E>descendingSet()返回此set中包含的元素的逆序视图。Efloor(E e)返回此set中小于或等于给定元素的最大元素,如果没有这样的元素,则null。SortedSet<E>headSet(E toElement)返回此set的部分视图,其元素严格小于toElement。NavigableSet<E>headSet(E toElement, boolean inclusive)返回此set的部分视图,其元素小于(或等于,如果inclusive为true)toElement。Ehigher(E e)返回此集合中的最小元素严格大于给定元素,如果没有这样的元素,则null。Iterator<E>iterator()以升序返回此集合中元素的迭代器。Elower(E e)返回此集合中的最大元素严格小于给定元素,如果没有这样的元素,则null。EpollFirst()检索并删除第一个(最低)元素,如果此组为空,则返回null。EpollLast()检索并删除最后一个(最高)元素,如果此组为空,则返回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位于范围的范围之外
-
-