17

可能重复:
HashMap 和 Hashtable 之间的区别?

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

4

3 回答 3

10

java.util.Hashtable方法是同步的,java.util.Hashmap方法不是。如果您使用Hashtable,则会影响性能,因为没有两个线程能够同时访问其方法。如果您关心应用程序中的线程安全,那么Hashtable就是您要走的路。如果你不关心线程安全Hashmap是要走的路,因为它比hashtable 更有效。 java.util.Hashtable 也不允许任何空键,而 java.util.HashMap 允许一个空键。

于 2012-11-10T00:57:14.523 回答
4

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

于 2012-11-10T00:57:18.513 回答
0

HashTable 不允许空键,而 hashmap 允许一个空键

于 2012-11-10T01:05:18.430 回答