Java集合源码分析之Map(三):接口NavigableMap

SortedMap提供了获取最大值与最小值的方法,但对于一个已经排序的数据集,除了最大值与最小值之外,我们可以对任何一个元素,找到比它小的值和比它大的值,还可以按照按照原有的顺序倒序排序等。NavigableMap就为我们提供了这些功能。

NavigableMap主要有以下方法:

// 找到第一个比指定的key小的值
Map.Entry lowerEntry(K key);

// 找到第一个比指定的key小的key
K lowerKey(K key);

// 找到第一个小于或等于指定key的值
Map.Entry floorEntry(K key);

// 找到第一个小于或等于指定key的key
K floorKey(K key);

//  找到第一个大于或等于指定key的值
Map.Entry ceilingEntry(K key);

K ceilingKey(K key);

// 找到第一个大于指定key的值
Map.Entry higherEntry(K key);

K higherKey(K key);

// 获取最小值
Map.Entry firstEntry();

// 获取最大值
Map.Entry lastEntry();

// 删除最小的元素
Map.Entry pollFirstEntry();

// 删除最大的元素
Map.Entry pollLastEntry();

//返回一个倒序的Map
NavigableMap descendingMap();

// 返回一个Navigable的key的集合,NavigableSet和NavigableMap类似
NavigableSet navigableKeySet();

// 对上述集合倒序
NavigableSet descendingKeySet();

上一篇:Java集合源码分析之Map(二):接口SortedMap

下一篇:Java集合源码分析之Map(四):TreeMap


本文到此就结束了,如果您喜欢我的文章,可以关注我的微信公众号: 大大纸飞机

或者扫描下方二维码直接添加:

公众号

您也可以关注我的github:https://github.com/LtLei/articles

编程之路,道阻且长。唯,路漫漫其修远兮,吾将上下而求索。

你可能感兴趣的:(Java集合源码分析之Map(三):接口NavigableMap)