更新時(shí)間:2020-05-21 15:02:25 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2579次
TreeMap是一個(gè)有序的key-value集合,它是通過(guò)紅黑樹(shù)實(shí)現(xiàn)的。
TreeMap繼承于AbstractMap,所以它是一個(gè)Map,即一個(gè)key-value集合。
TreeMap實(shí)現(xiàn)了NavigableMap接口,意味著它支持一系列的導(dǎo)航方法。比如返回有序的key集合。
TreeMap實(shí)現(xiàn)了Cloneable接口,意味著它能被克隆。
TreeMap實(shí)現(xiàn)了java.io.Serializable接口,意味著它支持序列化。
TreeMap基于紅黑樹(shù)(Red-Blacktree)實(shí)現(xiàn)。該映射根據(jù)其鍵的自然順序進(jìn)行排序,或者根據(jù)創(chuàng)建映射時(shí)提供的Comparator進(jìn)行排序,具體取決于使用的構(gòu)造方法。
TreeMap的基本操作containsKey、get、put和remove的時(shí)間復(fù)雜度是log(n)。
另外,TreeMap是非同步的。它的iterator方法返回的迭代器是fail-fastl的。
是一種自平衡二叉查找樹(shù)
(1)檢索效率O(logn)
(2)紅黑樹(shù)的五點(diǎn)規(guī)定:
a每個(gè)節(jié)點(diǎn)都只能是紅色或者黑色
b根節(jié)點(diǎn)是黑色
c每個(gè)葉節(jié)點(diǎn)(NIL節(jié)點(diǎn),空節(jié)點(diǎn))是黑色的。
d從每個(gè)葉子到根的所有路徑上不能有兩個(gè)連續(xù)的紅色節(jié)點(diǎn)。
e從任一節(jié)點(diǎn)到其每個(gè)葉子的所有路徑都包含相同數(shù)目的黑色節(jié)點(diǎn)。
TreeMap默認(rèn)按照key遞增排序
得到結(jié)果:
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java入門(mén)編程,treemap的使用”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743