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
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。