Map接口常用的實現類有:
1.HashMap
2.Hashtable
3.TreeMap
4.LinkedHashMap
討論1:底層機制
HashMap與Hashtable基於數組實現,TreeMap基於樹型結構,底層存儲結構是典型的鏈表結構。LinkedHashMap繼承自HashMap,所以也是基於數組實現的。
討論2:繼承關系
HashMap與TreeMap繼承自AbstractMap,Hashtable繼承自Dictionary,LinkedHashMap繼承自HashMap。
討論3:同步關系
Hashtable是同步的,而HashMap與TreeMap以及LinkedHashMap不是同步的,可以使用Collections中提供的方法轉換為同步的。
討論4:迭代器
迭代器都是快速失敗的(注:參考本系列第一篇List篇)
討論5:不可修改
通過使用Collections.unmodifiableMap(Map map)來轉換