溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java中SortedMap和NavigableMap的作用是什么

發(fā)布時間:2021-05-21 15:40:05 來源:億速云 閱讀:205 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)Java中SortedMap和NavigableMap的作用是什么,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

一、前言

由于亂序的數(shù)據(jù)對查找不利,例如無法使用二分法等降低算法的時間復(fù)雜度,如果數(shù)據(jù)在插入時就排好序,查找的性能聚會提升很多。sortedMap接口就是為這種有序的數(shù)據(jù)服務(wù)的。

二、sortedMap接口

sortedMap接口需要數(shù)據(jù)的key支持Comparable,或者可以被指定的Comparator接受。sortedMap主要提供了以下方法:

// 返回排序數(shù)據(jù)所用的Comparator
Comparator<? super K> comparator();

// 返回在[fromKey, toKey)之間的數(shù)據(jù)
SortedMap<K,V> subMap(K fromKey, K toKey);

// 返回從第一個元素到toKey之間的數(shù)據(jù)
SortedMap<K,V> headMap(K toKey);

// 返回從fromKey到末尾之間的數(shù)據(jù)
SortedMap<K,V> tailMap(K fromKey);

//返回第一個數(shù)據(jù)的key
K firstKey();

//返回最后一個數(shù)據(jù)的key
K lastKey();

SortedMap主要提供了獲取子集,以及獲取最大值(最后一個值)和最小值(第一個值)的方法。但這僅僅是排序數(shù)據(jù)能提供的便利的一小部分,在接下來分析的NavigableMap中,我們還會看到更多的功能。

SortedMap提供了獲取最大值與最小值的方法,但對于一個已經(jīng)排序的數(shù)據(jù)集,除了最大值與最小值之外,我們可以對任何一個元素,找到比它小的值和比它大的值,還可以按照按照原有的順序倒序排序等。NavigableMap就為我們提供了這些功能。

三、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框架有哪些

1.SpringMVC,Spring Web MVC是一種基于Java的實(shí)現(xiàn)了Web MVC設(shè)計(jì)模式的請求驅(qū)動類型的輕量級Web框架。2.Shiro,Apache Shiro是Java的一個安全框架。3.Mybatis,MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架。4.Dubbo,Dubbo是一個分布式服務(wù)框架。5.Maven,Maven是個項(xiàng)目管理和構(gòu)建自動化工具。6.RabbitMQ,RabbitMQ是用Erlang實(shí)現(xiàn)的一個高并發(fā)高可靠AMQP消息隊(duì)列服務(wù)器。7.Ehcache,EhCache 是一個純Java的進(jìn)程內(nèi)緩存框架。

以上就是Java中SortedMap和NavigableMap的作用是什么,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI