NavigableMap 扩展了 SortedMap, 具有了针对给定搜索目标返回最接近匹配项的导航方法.
方法 lowerEntry,floorEntry,ceilingEntry 和 higherEntry 分别返回与小于, 小于等于, 大于等于, 大于给定键的键关联的 Map.Entry 对象, 如果不存在这样的键, 则返回 null.
类似地, 方法 lowerKey,floorKey,ceilingKey 和 higherKey 只返回关联的键.
所有这些方法是为查找条目而不是遍历条目而设计的.
可以按照键的升序或降序访问和遍历 NavigableMap.
descendingMap 方法返回映射的一个视图, 该视图表示的所有关系方法和方向方法都是逆向的.
升序操作和视图的性能很可能比降序操作和视图的性能要好.
subMap,headMap 和 tailMap 方法与名称相似的 SortedMap 方法的不同之处在于: 可以接受用于描述是否包括 (或不包括) 下边界和上边界的附加参数.
任何 NavigableMap 的 Submap 必须实现 NavigableMap 接口.
此接口还定义了 firstEntry,pollFirstEntry,lastEntry 和 pollLastEntry 方法, 它们返回和 / 或移除最小和最大的映射关系(如果存在), 否则返回 null.
subMap(K, K),headMap(K) 和 tailMap(K) 方法被指定为返回 SortedMap, 以允许现有 SortedMap 实现能相容地改进为实现 NavigableMap, 但鼓励此接口的扩展和实现重写这些方法以返回 NavigableMap.
类似地, 可以重写 SortedMap.keySet() 以返回 NavigableSet.
来源: https://www.cnblogs.com/JzedyBlogs/p/10153968.html