為什么都是用hashmap?
首先謝謝邀請(qǐng)
我們將首先討論HashMap,它是一個(gè)基于哈希表的實(shí)現(xiàn)。它擴(kuò)展了AbstractMap類并實(shí)現(xiàn)了Map接口。一個(gè)HashMap的工作原理上的原則散列。這個(gè)Map實(shí)現(xiàn)通常作為一個(gè)分段的哈希表,但是當(dāng)桶變得太大時(shí),它們會(huì)被轉(zhuǎn)換為TreeNodes的節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)的結(jié)構(gòu)與java.util.TreeMap中的結(jié)構(gòu)類似。
原理1.TreeMap擴(kuò)展了AbstractMap類并實(shí)現(xiàn)了NavigableMap接口。一個(gè)TreeMap中存儲(chǔ)有地圖的元素紅黑樹,這是一個(gè)自我平衡的二叉搜索樹。
2.HashMap不保證元素在Map中的排列方式。
3.TreeMap中的項(xiàng)目會(huì)根據(jù)其自然順序進(jìn)行排序。
4.HashMap是一個(gè)基于哈希表的實(shí)現(xiàn)。在哈希表中搜索元素的平均時(shí)間是O(1)。
5.一個(gè)TreeMap的在同一個(gè)自定義的幫助的元素進(jìn)行排序的能力層次樹存儲(chǔ)其數(shù)據(jù)比較。
6.TreeMap為大多數(shù)操作提供了O(log(n))
一般實(shí)際工作中我們?yōu)榱诵阅芸紤]會(huì)優(yōu)先使用 hashmap
本人大廠程序員,專注互聯(lián)網(wǎng)技術(shù)。大家有問題可以加好友咨詢我哈。