問題

Javaの HashMap Hashtable の違いは何ですか?

非スレッドアプリケーションではどちらが効率的ですか?

  ベストアンサー

HashMap Hashtable の間にはいくつかの違いがあります。

  1. Hashtable同期ですが、HashMapはそうではありません。これは、非同期オブジェクトが通常同期オブジェクトよりも優れているため、HashMapを非スレッドアプリケーションに適しています。

  2. Hashtablenullキーまたは値を許可しません。 HashMapは1つのnullキーと任意の数のnull値を許可します。

  3. HashMapのサブクラスの1つは LinkedHashMap なので、予測可能な反復順序(デフォルトでは挿入順)が必要な場合は、LinkedHashMapHashMapを簡単に交換できます。これは、Hashtableを使用していた場合ほど簡単ではありません。

同期は問題ではないので、HashMapをお勧めします。同期が問題になると、 ConcurrentHashMap も見ることができます。

  同じタグがついた質問を見る

javacollectionshashmaphashtable