TreeMap
使用說明TreeMap 的底層數據結構爲紅黑樹,主要是根據key進行排序,相比較於
HashMap
的數組+鏈表+紅黑樹的數據結構而言,二者的應用場景是有明顯的區別的數組
TreeMap
的優勢TreeMap
根絕key進行比較排序數據結構
Comparable
接口HashMap
無排序功能學習
Treemap
紅黑樹中一個節點對應一個kv對,沒有冗餘無效的Node節點.net
HashMap
的數組中,可能存在較多的空位code
TreeMap
的缺點正常來說,TreeMap 的查詢時間複雜度爲 O(logN)
, 而HashMap爲 O(1)
blog
因此Map的元素越多,TreeMap根據key查詢的效率會更低;排序
另外一方面,HashMap
在糟糕的狀況下,可能退化爲鏈表接口
TreeMap
每次新增or刪除一個kv對,均可能致使紅黑樹的重排get
HashMap
當新增一個kv對,使得Map中的個數大於閥值時,須要對數組進行從新擴容效率
經過上面的優缺點對比,能夠看出TreeMap和HashMap二者的使用場景差異算是比較大的
對Map中的kv對有排序需求時,選擇 TreeMap
, 這種場景下,儘可能保證如下幾點
掃一掃二維碼,關注 小灰灰blog