Hashtable和HashMap

Hashtable 继承自 Dictionary 类,而 HashMap Java1.2 引进的 Map interface 的一个实现
HashMap
允许将 null 作为一个 entry key 或者 value ,而 Hashtable 不允许
还有就是, HashMap Hashtable contains 方法去掉了,改成 containsvalue containsKey 。因为 contains 方法容易让人引起误解。
最大的不同是, Hashtable 的方法是 Synchronize 的,而 HashMap 不是,在多个线程访问 Hashtable 时,不需要自己为它的方法实现同步,而 HashMap 就必须为之提供外同步。
Hashtable
HashMap 采用的 hash/rehash 算法都大概一样,所以理论性能不会有很大的差异。

HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。 Hashtable 类似于 HashMap,不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。

 

你可能感兴趣的:(Hashtable和HashMap)