SortedMap
提供了獲取最大值與最小值的方法,但對于一個已經(jīng)排序的數(shù)據(jù)集绢彤,除了最大值與最小值之外,我們可以對任何一個元素船惨,找到比它小的值和比它大的值,還可以按照按照原有的順序倒序排序等。NavigableMap
就為我們提供了這些功能。
NavigableMap
主要有以下方法:
// 找到第一個比指定的key小的值
Map.Entry<K,V> lowerEntry(K key);
// 找到第一個比指定的key小的key
K lowerKey(K key);
// 找到第一個小于或等于指定key的值
Map.Entry<K,V> floorEntry(K key);
// 找到第一個小于或等于指定key的key
K floorKey(K key);
// 找到第一個大于或等于指定key的值
Map.Entry<K,V> ceilingEntry(K key);
K ceilingKey(K key);
// 找到第一個大于指定key的值
Map.Entry<K,V> higherEntry(K key);
K higherKey(K key);
// 獲取最小值
Map.Entry<K,V> firstEntry();
// 獲取最大值
Map.Entry<K,V> lastEntry();
// 刪除最小的元素
Map.Entry<K,V> pollFirstEntry();
// 刪除最大的元素
Map.Entry<K,V> pollLastEntry();
//返回一個倒序的Map
NavigableMap<K,V> descendingMap();
// 返回一個Navigable的key的集合坡贺,NavigableSet和NavigableMap類似
NavigableSet<K> navigableKeySet();
// 對上述集合倒序
NavigableSet<K> descendingKeySet();
上一篇:Java集合源碼分析之Map(二):接口SortedMap
我是飛機醬,如果您喜歡我的文章,可以關(guān)注我~
編程之路遍坟,道阻且長拳亿。唯,路漫漫其修遠(yuǎn)兮愿伴,吾將上下而求索肺魁。