请你说明一下TreeMap的底层实现?
生活随笔
收集整理的這篇文章主要介紹了
请你说明一下TreeMap的底层实现?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?
TreeMap的底層實(shí)現(xiàn)是紅黑樹數(shù)據(jù)結(jié)構(gòu),也就是說是一棵自平衡的排序二叉樹,這樣就可以保證快速檢索指定節(jié)點(diǎn)。
紅黑樹的插入、刪除、遍歷時(shí)間復(fù)雜度都是O(logN),所以性能上低于哈希表。但是哈希表無法提供鍵值對(duì)的有序輸出,紅黑樹因?yàn)槭桥判虿迦氲?#xff0c;可以按照鍵的值的大小有序輸出。
紅黑樹的性質(zhì):
①每個(gè)節(jié)點(diǎn)要么是紅色,要么是黑色。
②根節(jié)點(diǎn)永遠(yuǎn)是黑色的。
③所有的葉子節(jié)點(diǎn)都是空節(jié)點(diǎn)(null),并且是黑色的。
④每個(gè)紅色節(jié)點(diǎn)的兩個(gè)子節(jié)點(diǎn)都是黑色。從每個(gè)葉子到根的路徑上不會(huì)有兩個(gè)連續(xù)的紅色節(jié)點(diǎn)。
⑤從任一節(jié)點(diǎn)到其子樹中每個(gè)葉子節(jié)點(diǎn)的路徑都包含相同數(shù)量的黑色節(jié)點(diǎn)。
總結(jié)
以上是生活随笔為你收集整理的请你说明一下TreeMap的底层实现?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 请你说明ConcurrentHashMa
- 下一篇: 请你解释一下HashMap具体如何实现的