Hashtable、Hashmap、Treemap、LinkedHashmap四種集合之間的關係

1.Hashtable、Hashmap、Treemap、LinkedHashmap四種集合,以鍵值對存儲和操做數據。安全

2.Hashtable和Hashmap的比較
(1)Hashtable是Java類庫提供的一個哈希實現,支持同步的,不支持null鍵和null值,不多使用。
(2)HashMap是應用更加普遍的哈希表實現,不支持同步,支持null鍵和null值。
(3)二者都是基於拉鍊法實現的,都是散列表。線程

3.Hashmap和Treemap的比較
(1)HashMap經過hashcode對其內容進行快速查找,而TreeMap中全部的元素都保持着某種固定的順序。
(2)HashMap非線程安全;TreeMap非線程安全。
(3)HashMap基於哈希表實現。使用HashMap要求添加的鍵類明肯定義了hashCode()和equals()[能夠重寫hashCode()和equals()]。
(4)TreeMap,基於紅黑樹實現,總處於平衡狀態。
(5)HashMap適用於在Map中插入、刪除和定位元素;Treemap適用於按天然順序或自定義順序遍歷鍵(key)。code

4.LinkedHashMap是HashMap的一個子類,若是須要輸出的順序和輸入的相同,那麼用LinkedHashMap能夠實現。同步

相關文章
相關標籤/搜索