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)来转换