模块  java.base
软件包  java.util

Interface NavigableSet<E>

  • 参数类型
    E - 此集维护的元素类型
    All Superinterfaces:
    Collection<E>Iterable<E>Set<E>SortedSet<E>
    所有已知实现类:
    ConcurrentSkipListSetTreeSet

    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
    • 方法详细信息

      • 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的部分视图,其元素范围为fromElementtoElement 如果fromElementtoElement相等,则返回的集合为空,除非fromInclusivetoInclusive都为真。 返回的集由此集支持,因此返回集中的更改将反映在此集中,反之亦然。 返回的集支持此集支持的所有可选集操作。

        返回的集合将尝试在其范围之外插入元素时抛出IllegalArgumentException

        参数
        fromElement - 返回集的低端点
        fromInclusive - true如果 true低端点包含在返回的视图中
        toElement - 返回集的高端点
        toInclusive - true如果 true高端点包含在返回的视图中
        结果
        此集合的部分视图,其元素范围从 fromElement (含),到 toElement ,独占
        异常
        ClassCastException - 如果fromElementtoElement无法使用此组的比较器相互比较(或者,如果该组没有比较器,则使用自然排序)。 如果无法将fromElementtoElement与当前集合中的元素进行比较,则实现可能(但不是必须)抛出此异常。
        NullPointerException - 如果 fromElementtoElement为null且此set不允许null元素
        IllegalArgumentException - 如果fromElement大于toElement ; 或者如果此集合本身具有受限范围,则fromElementtoElement位于范围的范围之外。
      • 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 (独占)。 (如果fromElementtoElement相等,则返回的集合为空。)返回的集由此集支持,因此返回集中的更改将反映在此集中,反之亦然。 返回的集支持此集支持的所有可选集操作。

        返回的集合将尝试在其范围之外插入元素时抛出IllegalArgumentException

        相当于subSet(fromElement, true, toElement, false)

        Specified by:
        subSet在界面 SortedSet<E>
        参数
        fromElement - 返回集的低端点(包括)
        toElement - 返回集的高端点(不包括)
        结果
        此集合的部分视图,其元素范围从 fromElement (含)到 toElement ,独占
        异常
        ClassCastException - 如果fromElementtoElement无法使用此组的比较器相互比较(或者,如果该组没有比较器,则使用自然排序)。 如果无法将fromElementtoElement与当前集合中的元素进行比较,则实现可能(但不是必须)抛出此异常。
        NullPointerException - 如果 fromElementtoElement为null且此set不允许null元素
        IllegalArgumentException - 如果fromElement大于toElement ; 或者如果此设置本身具有受限范围,并且fromElementtoElement位于范围的范围之外
      • 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位于范围的范围之外