HashMap和Hashtable之间的区别

【HashMap和Hashtable之间的区别】HashMap和Hashtable都用于存储键和值形式的数据。两者都使用哈希技术来存储唯一密钥。
但是, 下面给出的HashMap和Hashtable类之间有许多区别。

哈希图 哈希表
1)HashMap不同步。它不是线程安全的, 没有适当的同步代码就无法在许多线程之间共享。 哈希表已同步。它是线程安全的, 可以与许多线程共享。
2)HashMap允许一个空键和多个空值。 Hashtable不允许任何空键或值。
3)HashMap是JDK 1.2中引入的新类。 哈希表是一个遗留类。
4)HashMap很快。 哈希表很慢。
5)我们可以通过调用以下代码使HashMap同步:Map m = Collections.synchronizedMap(hashMap); 哈希表在内部是同步的, 不能不同步。
6)HashMap被Iterator遍历。 Hashtable被Enumerator和Iterator遍历。
7)HashMap中的迭代器是快速失败的。 Hashtable中的枚举器不是快速失败的。
8)HashMap继承AbstractMap类。 Hashtable继承Dictionary类。

    推荐阅读