您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關Java中SortedMap和NavigableMap的作用是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
由于亂序的數據對查找不利,例如無法使用二分法等降低算法的時間復雜度,如果數據在插入時就排好序,查找的性能聚會提升很多。sortedMap接口就是為這種有序的數據服務的。
sortedMap接口需要數據的key支持Comparable,或者可以被指定的Comparator接受。sortedMap主要提供了以下方法:
// 返回排序數據所用的Comparator Comparator<? super K> comparator(); // 返回在[fromKey, toKey)之間的數據 SortedMap<K,V> subMap(K fromKey, K toKey); // 返回從第一個元素到toKey之間的數據 SortedMap<K,V> headMap(K toKey); // 返回從fromKey到末尾之間的數據 SortedMap<K,V> tailMap(K fromKey); //返回第一個數據的key K firstKey(); //返回最后一個數據的key K lastKey();
SortedMap主要提供了獲取子集,以及獲取最大值(最后一個值)和最小值(第一個值)的方法。但這僅僅是排序數據能提供的便利的一小部分,在接下來分析的NavigableMap中,我們還會看到更多的功能。
SortedMap提供了獲取最大值與最小值的方法,但對于一個已經排序的數據集,除了最大值與最小值之外,我們可以對任何一個元素,找到比它小的值和比它大的值,還可以按照按照原有的順序倒序排序等。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();
1.SpringMVC,Spring Web MVC是一種基于Java的實現了Web MVC設計模式的請求驅動類型的輕量級Web框架。2.Shiro,Apache Shiro是Java的一個安全框架。3.Mybatis,MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優秀持久層框架。4.Dubbo,Dubbo是一個分布式服務框架。5.Maven,Maven是個項目管理和構建自動化工具。6.RabbitMQ,RabbitMQ是用Erlang實現的一個高并發高可靠AMQP消息隊列服務器。7.Ehcache,EhCache 是一個純Java的進程內緩存框架。
以上就是Java中SortedMap和NavigableMap的作用是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。