大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java treemap倒序,treemap可以排序?

Java treemap倒序,treemap可以排序?

更新時(shí)間:2020-05-20 16:03:58 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽5407次

我們都知道,TreeMap是一個(gè)邏輯集合,開(kāi)發(fā)者按照手拉手的方式將元素連接到一起,而且會(huì)按照元素的大小排序.

Java treemap倒序,treemap可以排序?

所以,我們?cè)谑褂玫臅r(shí)候必須,所要存儲(chǔ)的元素的Key必須要有比較的功能(實(shí)現(xiàn)Comparable接口,重寫(xiě)compareTo方法)或者使用一個(gè)第三方的比較器(Comparator接口的子類,重寫(xiě)compare方法).

當(dāng)我們存儲(chǔ)一個(gè)元素的時(shí)候,集合就會(huì)用這個(gè)元素的Key和集合內(nèi)部的元素的Key進(jìn)行比較,如果這個(gè)比較方法返回一個(gè)小于零的數(shù),則會(huì)將存入的元素放到被比較元素的左邊,如果返回一個(gè)大于零的數(shù),則會(huì)方法被比較元素的右邊,返回0則不存入.   

背景

有一次開(kāi)發(fā)中,需要根據(jù)老人的年齡排個(gè)序,所以直接就使用TreeMap集合,將老人的年齡當(dāng)作Key存入集合,同時(shí)為了避免將年齡相同的元素過(guò)濾掉,在使用比較器的時(shí)候,如果兩個(gè)元素的年齡相同則返回-1.讓新的元素存到老元素的左邊

但是后來(lái)在通過(guò)key獲取值的時(shí)候發(fā)現(xiàn),如果如何獲取,結(jié)果總會(huì)是null,但是集合中確實(shí)有這個(gè)元素,使用迭代器可以獲取到正確值,測(cè)試了好多次都是這樣的結(jié)果

解決

后來(lái)通過(guò)查看源碼才發(fā)現(xiàn),TreeMap的get(key)方法和HashMap不同,HashMap是通過(guò)比較key計(jì)算出一個(gè)角標(biāo),然后獲取數(shù)組中對(duì)應(yīng)角標(biāo)上的值.

而TreeMap是通過(guò)將方法中參數(shù)key和集合內(nèi)部的key進(jìn)行對(duì)比,如果比較的結(jié)果是0,則表示找到了要找的元素,可是,這個(gè)方法中使用的比較方法和存入時(shí)使用的比較方法是一樣的,都是我們開(kāi)始指定的比較器中的比較方法.

這就導(dǎo)致一個(gè)現(xiàn)象,比較器永遠(yuǎn)無(wú)法返回0,如果相等則會(huì)返回-1,那么集合就認(rèn)為,你要找的元素還在左邊,就會(huì)一直找下去,直到找到null,然后把null返回去

所以我們獲取到的值永遠(yuǎn)都是null

Java treemap倒序,treemap可以排序?

總結(jié)

如果你想在排序的同時(shí)又想保留重復(fù)的元素,絕對(duì)不要使用Tree系列的集合

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java treemap倒序,treemap可以排序?”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 两个人高清视频图片中文字幕 | 成人网18免费网站在线 | 人人爽天天爽夜夜爽qc | 久久精品免费视频6 | 欧美黑人巨大肥婆性视频 | 一区二区免费播放 | 男女羞羞网站 | 亚洲视频在线免费 | 欧美不卡视频在线 | 久久精品图片 | 99视频全部免费精品全部四虎 | 日韩第3页| 天天拍夜夜添久久精品免费 | 亚欧乱色精品免费观看 | 日韩欧美精品一区二区 | 波多野结衣中文一区二区免费 | 欧美综合国产 | 久久免费观看视频 | 操操碰| 欧美视频三区 | 99热这里只有精品在线 | 亚洲国产一区二区三区精品 | 亚洲最大激情网 | 奇米色偷偷 | 在线视频一二三区2021不卡 | 久久视屏这里只有精品6国产 | 女人16一毛片 | www.777色| 欧美大成色www永久网站 | 天天在线天天综合网色 | 亚洲综合久久综合激情久久 | 国产a网 | 久久国内精品视频 | 九九亚洲视频 | 91久久精品都在这里 | 日本一线一区二区三区免费视频 | 久久美剧 | 日韩精品福利视频一区二区三区 | 免费高清在线影片一区 | 亚洲精品久久 | 欧美激情在线视频播放 |