Posted at

【Java】HashMapとHashtableの違い

More than 3 years have passed since last update.

調べた備忘。

HashMapとHashtableの違いは複数箇所存在するようだ。



  1. Hashtablesynchronizedであることにたいして、HashMapはそうではない。単一スレッドのケースではHashMapの方が良いパフォーマンスを出す。


  2. Hashtablenullのkey/valueを受けつけない。対してHashMapnullkeyを一つ持てるし、valueとしてはnullをいくらでも持つことができる。


  3. HashMapのサブクラスであるLinkedHashMapを使いたいときにHashMapであれば置き換えが容易だが、Hashtableでは面倒。

synchronizationが重要でないケースは、HashMapを使用した方が便利であることが多い。

[Differences between HashMap and Hashtable?

](http://stackoverflow.com/questions/40471/differences-between-hashmap-and-hashtable) ですべて議論されているので参考にする。