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.