首先謝謝邀請
我們將首先討論HashMap,它是一個基于哈希表的實現。它擴展了AbstractMap類并實現了Map接口。一個HashMap的工作原理上的原則散列。這個Map實現通常作為一個分段的哈希表,但是當桶變得太大時,它們會被轉換為TreeNodes的節點,每個節點的結構與java.util.TreeMap中的結構類似。
原理
1.TreeMap擴展了AbstractMap類并實現了NavigableMap接口。一個TreeMap中存儲有地圖的元素紅黑樹,這是一個自我平衡的二叉搜索樹。
2.HashMap不保證元素在Map中的排列方式。
3.TreeMap中的項目會根據其自然順序進行排序。
4.HashMap是一個基于哈希表的實現。在哈希表中搜索元素的平均時間是O(1)。
5.一個TreeMap的在同一個自定義的幫助的元素進行排序的能力層次樹存儲其數據比較。
6.TreeMap為大多數操作提供了O(log(n))
一般實際工作中我們為了性能考慮會優先使用hashmap
本人大廠程序員,專注互聯網技術。大家有問題可以加好友咨詢我哈。