欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java源碼解析之SortedMap和NavigableMap

 更新時(shí)間:2021年05月20日 16:30:26   作者:不會(huì)編程的派大星  
今天帶大家來(lái)學(xué)習(xí)Java SortedMap和NavigableMap,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下

一、前言

由于亂序的數(shù)據(jù)對(duì)查找不利,例如無(wú)法使用二分法等降低算法的時(shí)間復(fù)雜度,如果數(shù)據(jù)在插入時(shí)就排好序,查找的性能聚會(huì)提升很多。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);

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

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

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

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

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

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

三、NavigableMap接口

我們來(lái)看看NavigableMap主要有哪些方法

// 找到第一個(gè)比指定的key小的值
Map.Entry<K,V> lowerEntry(K key);

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

// 找到第一個(gè)小于或等于指定key的值
Map.Entry<K,V> floorEntry(K key);

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

//  找到第一個(gè)大于或等于指定key的值
Map.Entry<K,V> ceilingEntry(K key);

K ceilingKey(K key);

// 找到第一個(gè)大于指定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();

//返回一個(gè)倒序的Map
NavigableMap<K,V> descendingMap();

// 返回一個(gè)Navigable的key的集合,NavigableSet和NavigableMap類似
NavigableSet<K> navigableKeySet();

// 對(duì)上述集合倒序
NavigableSet<K> descendingKeySet();

到此這篇關(guān)于Java源碼解析之SortedMap和NavigableMap的文章就介紹到這了,更多相關(guān)Java SortedMap和NavigableMap內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringCloud服務(wù)實(shí)現(xiàn)同時(shí)使用eureka和nacos方法

    SpringCloud服務(wù)實(shí)現(xiàn)同時(shí)使用eureka和nacos方法

    這篇文章主要介紹了SpringCloud服務(wù)實(shí)現(xiàn)同時(shí)使用eureka和nacos方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-01-01
  • Java中防止XSS攻擊的10種方法

    Java中防止XSS攻擊的10種方法

    這篇文章主要給大家介紹了關(guān)于Java中防止XSS攻擊的10種方法,XSS(Cross Site Scripting)攻擊是一種常見的網(wǎng)絡(luò)安全漏洞,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-07-07
  • Java中如何將符號(hào)分隔的文本文件txt轉(zhuǎn)換為excel

    Java中如何將符號(hào)分隔的文本文件txt轉(zhuǎn)換為excel

    這篇文章主要介紹了Java中如何將符號(hào)分隔的文本文件txt轉(zhuǎn)換為excel,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • Spring中的之啟動(dòng)過程obtainFreshBeanFactory詳解

    Spring中的之啟動(dòng)過程obtainFreshBeanFactory詳解

    這篇文章主要介紹了Spring中的之啟動(dòng)過程obtainFreshBeanFactory詳解,在refresh時(shí),prepareRefresh后,馬上就調(diào)用了obtainFreshBeanFactory創(chuàng)建beanFactory以及掃描bean信息(beanDefinition),并通過BeanDefinitionRegistry注冊(cè)到容器中,需要的朋友可以參考下
    2024-02-02
  • Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(48)

    Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(48)

    下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧,希望可以幫到你
    2021-08-08
  • MyBatis映射文件resultMap元素中使用多個(gè)association的方法

    MyBatis映射文件resultMap元素中使用多個(gè)association的方法

    這篇文章主要介紹了MyBatis映射文件resultMap元素中使用多個(gè)association的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • java如何獲取本地操作系統(tǒng)進(jìn)程列表

    java如何獲取本地操作系統(tǒng)進(jìn)程列表

    本文介紹了java中是如何獲取當(dāng)前本地操作系統(tǒng)正在運(yùn)行的系統(tǒng)進(jìn)程的信息,需要的朋友可以參考下
    2015-07-07
  • springboot集成redis實(shí)現(xiàn)簡(jiǎn)單秒殺系統(tǒng)

    springboot集成redis實(shí)現(xiàn)簡(jiǎn)單秒殺系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了springboot集成redis實(shí)現(xiàn)簡(jiǎn)單秒殺系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • 如何批量測(cè)試Mybatis項(xiàng)目中的Sql是否正確詳解

    如何批量測(cè)試Mybatis項(xiàng)目中的Sql是否正確詳解

    這篇文章主要給大家介紹了關(guān)于如何批量測(cè)試Mybatis項(xiàng)目中Sql是否正確的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • java中的hashCode方法小例子

    java中的hashCode方法小例子

    這篇文章主要介紹了java中的hashCode方法小例子,有需要的朋友可以參考一下
    2013-12-12

最新評(píng)論