NavigableSet接口源码分析
java.util.NavigableSet
接口直接继承自 java.util.SortedSet
接口。
一、NavigableSet接口特点或规范
java.util.NavigableSet
接口在java.util.SortedSet
基础上增加了导航功能,使用导航方法扩展的 SortedSet 报告给定搜索目标的最接近匹配。lower()
,floor()
,ceiling()
和higher()
方法返回元素分别小于,小于或等于,大于或等于,大于给定元素,如果没有这样的元素则返回 **null
**。- 此接口还定义了
pollFirst()
和pollLast()
方法,返回并删除最低和最高元素(如果存在),否则返回 **null
**。 - 任何 NavigableSet 实现类的的子集都必须实现 NavigableSet 接口。
二、方法描述
lower(E)方法
返回当前 Set 中小于指定元素的最大元素,如果没有这样的元素,则返回 **null
**。
1 |
|
floor(E)方法
返回当前 Set 中小于或等于指定元素的最大元素,如果没有这样的元素,则返回 **null
**。
1 |
|
ceiling(E)方法
返回当前 Set 中大于或等于指定元素的最小元素,如果没有这样的元素,则返回 **null
**。
1 |
|
higher(E)方法
返回当前 Set 中大于指定元素的最小元素,如果没有这样的元素,则返回 **null
**。
1 |
|
pollFirst()方法
检索并删除第一个(最低)元素,如果没有这样的元素,则返回 **null
**。
1 |
|
pollLast()方法
检索并删除最后一个(最高)元素,如果没有这样的元素,则返回 **null
**。
1 |
|
iterator()方法
以升序返回当前 Set 中元素的迭代器。
1 |
|
descendingSet()方法
- 返回当前 Set 中元素的降序视图。
- 对当前 Set 的修改将反映在降序集中。
- 此方法返回的 Set 的顺序等同于 **
Collections.reverseOrder(comparator())
。 - 表达式:**
s.descendingSet().descendingSet()
** 返回 s 的视图等效于 s。
1 |
|
descendingIterator()方法
以降序返回当前 Set 中元素的迭代器。等效于 **descendingSet().iterator()
**。
1 |
|
三、继承自 SortedSet 的方法
subSet()方法
返回当前 Set 的部分视图,其元素范围从 fromElement 到 toElement;fromInclusive:是否包含头;toInclusive:是否包含尾。
1 |
|
headSet()方法
返回当前 Set 的部分视图,其元素范围从 Set 起始至 toElement;inclusive:是否包含尾,即:控制是否包含元素 toElement 元素。
1 |
|
tailSet()方法
返回当前 Set 的部分视图,其元素范围从 fromElement 至 Set 结尾;inclusive:是否包含头,即:控制是否包含元素 fromElement 元素。
1 |
|
NavigableSet接口源码分析
https://cuilan.github.io/2019/08/01/java/util/NavigableSet-source-analysis/