HashMap 和 Hashtable 都用于以键值形式存储数据。 两者都使用散列技术来存储唯一键。下面给出的 HashMap 和 Hashtable 类之间存在许多差异。
HashMap | Hashtable |
---|---|
HashMap 是非同步的。 它不是线程安全的,如果没有适当的同步代码,就不能在许多线程之间共享。 | Hashtable是同步的。 它是线程安全的,可以与多个线程共享。 |
HashMap 允许一个空键和多个空值。 | Hashtable 不允许任何空键或值。 |
HashMap 是JDK 1.2 中引入的一个新类。 | Hashtable 是一个遗留类。 |
HashMap 速度快。 | 哈希表很慢。 |
可以通过调用此代码使HashMap同步。Map m = Collections.synchronizedMap(hashMap); |
Hashtable 是内部同步的,不能不同步。 |
HashMap 被迭代器遍历。 | Hashtable 由 Enumerator 和 Iterator 遍历。 |
HashMap 中的迭代器是快速失败的。 | Hashtable 中的枚举器不是快速失败的。 |
HashMap 继承了 AbstractMap 类。 | Hashtable 继承了 Dictionary 类。 |
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:HashMap和Hashtable的区别
本文链接:https://www.vsdiffer.com/vs/difference-between-hashmap-vs-hashtable.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。