17

重複の可能性:
HashMapとHashtableの違いは?

異なるコードで使用されるハッシュテーブルとハッシュマップを見たことがありますが、それらは同じことをしているように見えます。それらの間に違いはありますか?コードでどちらを使用する必要がありますか?

4

3 に答える 3

10

java.util.Hashtableメソッドは同期されますが、java.util.Hashmapメソッドは同期されません。Hashtableを使用すると、 2つのスレッドが同時にそのメソッドにアクセスできないため、パフォーマンスが低下します。アプリのスレッドセーフに関心がある場合は、ハッシュテーブルが最適です。スレッドセーフを気にしない場合は、ハッシュマップが効率的であるため、ハッシュマップが最適です。 また、java.util.Hashtableはnullキーを許可しませんが、java.util.HashMapは1つのnullキーを許可します。

于 2012-11-10T00:57:14.523 に答える
4

Hashtableは同期されますが、HashMapは同期されません。つまり、データにアクセスするスレッドが1つしかない場合は、HashMapを使用します。それ以外の場合は、Hashtableを使用します。

于 2012-11-10T00:57:18.513 に答える
0

HashTableはnullキーを許可しませんが、hashmapは1つのnullキーを許可します

于 2012-11-10T01:05:18.430 に答える