Hashtable如何与Hashmap不同

时间:2012-11-10 00:55:21

标签: java hashmap hashtable

  

可能重复:
  Differences between HashMap and Hashtable?

我已经看到在不同代码中使用的哈希表和哈希映射,但它们看起来像是做同样的事情。它们之间有区别吗?我应该在代码中使用哪一个?

3 个答案:

答案 0 :(得分:9)

java.util.Hashtable 方法同步 java.util.Hashmap 方法不是。如果您使用 Hashtable ,则会有性能影响,因为没有两个线程可以同时访问其方法。 如果您关心应用中的线程安全,那么 Hashtable 就是您的选择。如果您不关心线程安全性 Hashmap 是可行的方法,因为它的效率是哈希表。 java.util.Hashtable也不允许任何null键,其中java.util.HashMap允许一个空键。

答案 1 :(得分:4)

Hashtable是同步的,而HashMap则不同步。这意味着如果您只有一个线程访问数据,请使用HashMap,否则使用Hashtable。

答案 2 :(得分:0)

HashTable不允许使用null键,因为hashmap允许一个空键