Hashtable、Hashmap、Treemap、LinkedHashmap四种集合之间的关系

282 阅读1分钟

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)。

4.LinkedHashMap是HashMap的一个子类,如果需要输出的顺序和输入的相同,那么用LinkedHashMap可以实现。