1.TreeMap介紹
TreeMap是一個有序的key-value集合,它是通過紅黑樹實現的。
TreeMap繼承于AbstractMap,所以它是一個Map,即一個key-value集合。
TreeMap實現了NavigableMap接口,意味著它支持一系列的導航方法。比如返回有序的key集合。
TreeMap實現了Cloneable接口,意味著它能被克隆。
TreeMap實現了java.io.Serializable接口,意味著它支持序列化。
TreeMap基于紅黑樹(Red-Blacktree)實現。該映射根據其鍵的自然順序進行排序,或者根據創(chuàng)建映射時提供的Comparator進行排序,具體取決于使用的構造方法。
TreeMap的基本操作containsKey、get、put和remove的時間復雜度是log(n)。
另外,TreeMap是非同步的。它的iterator方法返回的迭代器是fail-fastl的。
2.紅黑樹(RedBlackTree)
是一種自平衡二叉查找樹
(1)檢索效率O(logn)
(2)紅黑樹的五點規(guī)定:
a每個節(jié)點都只能是紅色或者黑色
b根節(jié)點是黑色
c每個葉節(jié)點(NIL節(jié)點,空節(jié)點)是黑色的。
d從每個葉子到根的所有路徑上不能有兩個連續(xù)的紅色節(jié)點。
e從任一節(jié)點到其每個葉子的所有路徑都包含相同數目的黑色節(jié)點。
3.TreeMap使用舉例
TreeMap默認按照key遞增排序
得到結果:
以上就是北大青鳥長沙麓谷校區(qū)java培訓機構的小編針對“Java入門編程,treemap的使用”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。