原則ハッシュテーブルとHashMapのは違いはありません。
次のようにHashMapとの主な違いは以下のとおりです。
- JDK時間に追加:ハッシュテーブルはJDK1.0の時間を追加し、HashMapのはJDK1.2の時間を追加しました。
- クラス署名:どちらも、Mapインタフェースを実装していますが、HashMapのは、クラスAbstractMapから継承されたハッシュテーブルは、辞書から継承されました。
- キーの値がnullで、ハッシュテーブル、キー値がnullに許可されていないのHashMapと許します。
- HashMapのは、スレッドセーフではなく、スレッドセーフなハッシュテーブル、各方法が同期されるか、または同期メソッドが呼び出されます。
- 列挙HashTableには横断できます。
- ハッシュテーブルを使用すると、スレッドセーフ必要がある場合は、推奨されていない
Map
、使用することができますCollections.synchronizedMap()
。
次のようにDictionaryクラスが定義されています。
/**
*
* 保存键值对;
* key和value均不能为null;
* 该类已被废弃,新的实现应该实现Map接口;
*
* @since JDK1.0
*/
public abstract class Dictionary<K, V> {
public Dictionary() {
}
abstract public int size();
abstract public boolean isEmpty();
// 返回所有 key 的Enumeration
abstract public Enumeration<K> keys();
// 返回所有 value 的Enumeration
abstract public Enumeration<V> elements();
abstract public V get(Object key);
abstract public V put(K key, V value);
abstract public V remove(Object key);
}
ハッシュテーブルの事実は、サブカテゴリーがあります:キーと値のプロパティと属性を保存して読むためのプロパティは、プロパティに永続化することができ;.ファイル
のプロパティでは、あなたが見ることができますJavaのプロパティクラスの動作をし、Javaファイルには、プロパティを読んで6つの方法