-  
       - 参数类型
-  
         E- 由此集合维护的元素的类型
 - All Superinterfaces:
-  
         Collection<E>,Iterable<E>,Set<E>,SortedSet<E>
 - 所有已知实现类:
-  
         ConcurrentSkipListSet,TreeSet
 
 
 public interface NavigableSet<E> extends SortedSet<E> ASortedSet扩展了导航方法报告给定搜索目标的最匹配。 方法lower(E),floor(E),ceiling(E)和higher(E)个返回元件分别大于给定的元素小于,小于或等于,大于或等于,大于,返回null如果不存在这样的元件。A 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
 
-  
        
       -  
             方法摘要所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 Eceiling(E e)返回此集合中最小元素大于或等于给定元素,如果没有此元素,则null。Iterator<E>descendingIterator()以降序返回该集合中的元素的迭代器。NavigableSet<E>descendingSet()返回此集合中包含的元素的反向排序视图。Efloor(E e)返回该集合中最大的元素小于或等于给定元素,如果没有这样的元素,则null。SortedSet<E>headSet(E toElement)返回此集合的部分的视图,其元素严格小于toElement。NavigableSet<E>headSet(E toElement, boolean inclusive)返回此集合的部分的视图,其元素小于(或等于,如果inclusive为真)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)返回该集合的部分的视图,其元素的范围从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。-  
               Methods inherited from interface java.util.CollectionparallelStream, removeIf, stream
 -  
               Methods inherited from interface java.util.Setadd, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, of, of, of, of, of, of, of, of, of, of, of, of, remove, removeAll, retainAll, size, toArray, toArray
 -  
               Methods inherited from interface java.util.SortedSetcomparator, first, last, spliterator
 
-  
               
 
-  
             
-  
        
       -  
             方法详细信息-  lowerE lower(E e) 返回这个集合中最大的元素,严格小于给定的元素,如果没有这样的元素,则null。- 参数
-  
              e- 要匹配的值
- 结果
- 
               最大元素小于 
              e,如果没有这样的元素,null
- 异常
-  
              ClassCastException- 如果指定的元素不能与当前集合中的元素进行比较
-  
              NullPointerException- 如果指定的元素为空,并且该集合不允许空元素
 
 -  floorE floor(E e) 返回该集合中最大的元素小于或等于给定的元素,如果没有这样的元素,则null。- 参数
-  
              e- 要匹配的值
- 结果
- 
               最大元素小于或等于 
              e,如果没有这样的元素,null
- 异常
-  
              ClassCastException- 如果指定的元素不能与当前集合中的元素进行比较
-  
              NullPointerException- 如果指定的元素为空,并且此集合不允许空元素
 
 -  ceilingE ceiling(E e) 返回此集合中最小元素大于或等于给定元素,如果没有此元素,则null。- 参数
-  
              e- 要匹配的值
- 结果
- 
               最小元素大于或等于 
              e,或null如果没有这样的元素
- 异常
-  
              ClassCastException- 如果指定的元素不能与当前集合中的元素进行比较
-  
              NullPointerException- 如果指定的元素为空,并且该集合不允许空元素
 
 -  higherE higher(E e) 返回这个集合中的最小元素严格大于给定的元素,如果没有这样的元素,则null。- 参数
-  
              e- 要匹配的值
- 结果
- 
               最小元素大于 
              e,如果没有这样的元素,null
- 异常
-  
              ClassCastException- 如果指定的元素不能与当前集合中的元素进行比较
-  
              NullPointerException- 如果指定的元素为空,并且此集合不允许空元素
 
 -  pollFirstE pollFirst() 检索并删除第一个(最低)元素,如果此集合为空,则返回null。- 结果
- 
               第一个元素,或 
              null如果此集合为空
 
 -  pollLastE pollLast() 检索并删除最后一个(最高)元素,如果此集合为空,则返回null。- 结果
- 
               最后一个元素,或 
              null如果此集合为空
 
 -  descendingSetNavigableSet<E> descendingSet() 返回此集合中包含的元素的反向排序视图。 下降集由此集合支持,因此对集合的更改反映在下降集中,反之亦然。 如果任何一个集合都被修改,而任一集合中的迭代正在进行(除了通过迭代器自己的remove操作),迭代的结果是未定义的。返回的集合的订单等价于 Collections.reverseOrder(comparator())。 表达s.descendingSet().descendingSet()返回一个视图的s实质上等同于s。- 结果
- 这个集合的逆序视图
 
 -  descendingIteratorIterator<E> descendingIterator() 以降序返回该集合中的元素的迭代器。 等效于descendingSet().iterator()。- 结果
- 在这个集合中的元素的迭代器,按降序
 
 -  subSetNavigableSet<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位于范围的边界之外。
 
 -  headSetNavigableSet<E> headSet(E toElement, boolean inclusive) 返回此集合的部分的视图,该部分的元素小于(或等于,如果inclusive为真)toElement。 返回的集合由此集合支持,因此返回集合中的更改将反映在此集合中,反之亦然。 返回的集合支持该集支持的所有可选集合操作。返回的集合将抛出一个 IllegalArgumentException,试图在其范围之外插入一个元素。- 参数
-  
              toElement- 返回集合的高端点
-  
              inclusive-true如果高端点要包含在返回的视图中
- 结果
- 
               该集合的部分的元素的视图小于(或等于,如果为 
              inclusive为真)toElement
- 异常
-  
              ClassCastException- 如果toElement与此集合的比较器不兼容(或者如果该集合没有比较器,如果toElement不实现Comparable)。 如果toElement无法与当前集合中的元素进行比较,则实施可能但不是必须抛出此异常。
-  
              NullPointerException- 如果toElement为空,并且此集合不允许空元素
-  
              IllegalArgumentException- 如果此设置本身具有限制范围,并且toElement位于范围的边界之外
 
 -  tailSetNavigableSet<E> tailSet(E fromElement, boolean inclusive) 返回此集合的部分的视图,其元素大于(或等于,如果inclusive为true)fromElement。 返回的集合由此集合支持,因此返回集合中的更改将反映在此集合中,反之亦然。 返回的集合支持该集支持的所有可选集合操作。返回的集合将抛出一个 IllegalArgumentException,试图在其范围之外插入一个元素。- 参数
-  
              fromElement- 返回集合的低端点
-  
              inclusive-true如果低端点要包含在返回的视图中
- 结果
- 
               该集合的部分的视图,其元素大于或等于 
              fromElement
- 异常
-  
              ClassCastException- 如果fromElement与此设置的比较器不兼容(或如果该集合没有比较器,如果fromElement不实现Comparable)。 如果fromElement无法与当前集合中的元素进行比较,则实施可能但不是必须抛出此异常。
-  
              NullPointerException- 如果fromElement为空,并且此集合不允许空元素
-  
              IllegalArgumentException- 如果这个集合本身具有有限的范围,并且fromElement位于范围的边界之外
 
 -  subSetSortedSet<E> subSet(E fromElement, E toElement) 返回此集合的部分的视图,其元素的范围从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为空,并且此集合不允许空元素
-  
              IllegalArgumentException- 如果fromElement大于toElement; 或者如果此设置本身具有限制范围,并且fromElement或toElement位于范围的边界之外
 
 -  headSetSortedSet<E> headSet(E toElement) 返回该集合的部分的视图,其元素严格小于toElement。 返回的集合由此集合支持,因此返回集合中的更改将反映在此集合中,反之亦然。 返回的集合支持该集支持的所有可选集合操作。返回的集合将抛出一个 IllegalArgumentException,试图在其范围之外插入一个元素。相当于 headSet(toElement, false)。- Specified by:
-  
              headSet在接口SortedSet<E>
- 参数
-  
              toElement- 返回集合的高端点(独占)
- 结果
- 
               该集合的部分的视图,其元素严格小于 
              toElement
- 异常
-  
              ClassCastException- 如果toElement与此设置的比较器不兼容(或者如果该集合没有比较器,如果toElement不实现Comparable)。 如果toElement无法与当前集合中的元素进行比较,则实施可能但不是必须抛出此异常。
-  
              NullPointerException- 如果toElement为空,并且此集合不允许空元素
-  
              IllegalArgumentException- 如果此设置本身具有限制范围,并且toElement位于范围的边界之外
 
 -  tailSetSortedSet<E> tailSet(E fromElement) 返回此集合的部分的视图,该部分的元素大于或等于fromElement。 返回的集合由此集合支持,因此返回集合中的更改将反映在此集合中,反之亦然。 返回的集合支持该集支持的所有可选集合操作。返回的集合将抛出一个 IllegalArgumentException,试图在其范围之外插入一个元素。相当于 tailSet(fromElement, true)。- Specified by:
-  
              tailSet在接口SortedSet<E>
- 参数
-  
              fromElement- 返回集合的低端点(含)
- 结果
- 
               该集合的部分的视图,其元素大于或等于 
              fromElement
- 异常
-  
              ClassCastException- 如果fromElement与此设置的比较器不兼容(或如果该组没有比较器,则fromElement不实现Comparable)。 如果fromElement无法与当前集合中的元素进行比较,则实施可能但不是必须抛出此异常。
-  
              NullPointerException- 如果fromElement为空,并且此集合不允许空元素
-  
              IllegalArgumentException- 如果此设置本身具有限制范围,并且fromElement位于范围的边界之外
 
 
-  
 
-