Hashtable:
(1)Hashtable 是一个散列表,它存储的内容是键值对(key-value)映射。
(2)Hashtable 的函数都是同步的,这意味着它是线程安全的。它的key、value都不可以为null,速度较慢,现在已经不推荐使用。
(3)HashTable直接使用对象的hashCode。
HashMap:
(1)由数组+链表组成的,基于哈希表的Map实现,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的。
(2)不是线程安全的,HashMap可以接受为null的键(key)和值(value)。
(3)HashMap重新计算hash值
TreeMap:
(1)基于红黑树实现的(树中的每个节点的值,都会大于或等于它的左子树种的所有节点的值,并且小于或等于它的右子树中的所有节点的值);TreeMap就没有调优选项,因为红黑树总是处于平衡的状态。
(2)不是线程安全的
(3)适用于按自然顺序或自定义顺序遍历键(key)
Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。TreeMap继承SortedMap类
07-22
793
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交