java.util
クラス Hashtable

java.lang.Object
  |
  +--java.util.Hashtable

public class Hashtable
extends Object

このクラスは、ハッシュテーブルを実装するためのもので、キーを値にマップします。null オブジェクト以外であれば、どのオブジェクトでもキーや値に使用することができます。

ハッシュテーブルにオブジェクトを格納したり、そこから取り出したりするには、キーとして使用するオブジェクトに、hashCode メソッドと equals メソッドが実装されていなければなりません。

Hashtable のインスタンスには、その性能に影響する「容量」および「負荷係数」という 2 つのパラメータがあります。負荷係数の範囲は、0.0 〜 1.0 です。ハッシュテーブルのエントリ数が負荷係数と現在の容量との積を超えた場合は、rehash メソッドを呼び出すことによって容量を増やすことができます。負荷係数を大きくすると、メモリをより効率的に使用できますが、その代わりに 1 回の参照に対する時間が長くなります。

Hashtable に多くのエントリを入れる場合は、このテーブルを十分に大きな容量で作成する方が、必要に応じてハッシュを自動的にやり直してテーブルを大きくするよりも、エントリを効率的に挿入することができます。

この例は、数値のハッシュテーブルを作成するものです。この例では、数値の名前をキーとして使います。

     Hashtable numbers = new Hashtable();
     numbers.put("one", new Integer(1));
     numbers.put("two", new Integer(2));
     numbers.put("three", new Integer(3));

数値を取り出すには、次のコードを使います。

     Integer n = (Integer)numbers.get("two");
     if (n != null) {
         System.out.println("two = " + n);
     }

導入されたバージョン:
JDK1.0
関連項目:
Object.equals(java.lang.Object), Object.hashCode(), rehash()

コンストラクタの概要
Hashtable()
          デフォルトの容量および負荷係数で新しい空のハッシュテーブルを作成します。
Hashtable(int initialCapacity)
          指定された初期容量で新しい空のハッシュテーブルを作成します。
 
メソッドの概要
 void clear()
          このハッシュテーブルを消去して、キーがない状態にします。
 boolean contains(Object value)
          指定された値にマップされているキーが、ハッシュテーブルにあるかどうかを判定します。
 boolean containsKey(Object key)
          指定されたオブジェクトが、ハッシュテーブルのキーかどうかを判定します。
 Enumeration elements()
          ハッシュテーブルにある値のリストを返します。
 Object get(Object key)
          指定されたキーにマップされている、ハッシュテーブルの値を返します。
 boolean isEmpty()
          値にマップされているキーが、ハッシュテーブルにあるかどうかを判定します。
 Enumeration keys()
          ハッシュテーブルにあるキーのリストを返します。
 Object put(Object key, Object value)
          ハッシュテーブルにおいて、指定された key を、指定された value にマップします。
protected  void rehash()
          ハッシュテーブルの内容に対してハッシュをやり直して、より大きい容量のハッシュテーブルに格納します。
 Object remove(Object key)
          キー (およびそれに対応する値) をハッシュテーブルから削除します。
 int size()
          ハッシュテーブルにあるキーの数を返します。
 String toString()
          このハッシュテーブルの文字列表現を比較的長い形式で返します。
 
クラス java.lang.Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

Hashtable

public Hashtable(int initialCapacity)
指定された初期容量で新しい空のハッシュテーブルを作成します。
パラメータ:
initialCapacity - ハッシュテーブルの初期容量
例外:
IllegalArgumentException - 初期容量が 0 より小さい場合
導入されたバージョン:
JDK1.0

Hashtable

public Hashtable()
デフォルトの容量および負荷係数で新しい空のハッシュテーブルを作成します。
導入されたバージョン:
JDK1.0
メソッドの詳細

size

public int size()
ハッシュテーブルにあるキーの数を返します。
戻り値:
ハッシュテーブルにあるキーの数
導入されたバージョン:
JDK1.0

isEmpty

public boolean isEmpty()
値にマップされているキーが、ハッシュテーブルにあるかどうかを判定します。
戻り値:
値にマップされているキーがハッシュテーブルにない場合は true、そうでない場合は false
導入されたバージョン:
JDK1.0

keys

public Enumeration keys()
ハッシュテーブルにあるキーのリストを返します。
戻り値:
ハッシュテーブルにあるキーのリスト
導入されたバージョン:
JDK1.0
関連項目:
Enumeration, elements()

elements

public Enumeration elements()
ハッシュテーブルにある値のリストを返します。これらの要素を順次に取り出すには、Enumeration のメソッドを使用します。
戻り値:
ハッシュテーブルにある値のリスト
導入されたバージョン:
JDK1.0
関連項目:
Enumeration, keys()

contains

public boolean contains(Object value)
指定された値にマップされているキーが、ハッシュテーブルにあるかどうかを判定します。この操作は、containsKey メソッドよりも負荷がかかります。
パラメータ:
value - 検索する値
戻り値:
いくつかのキーがこのハッシュテーブルの value 引数にマップされている場合は true、そうでない場合は false
例外:
NullPointerException - 値が null の場合
導入されたバージョン:
JDK1.0
関連項目:
containsKey(java.lang.Object)

containsKey

public boolean containsKey(Object key)
指定されたオブジェクトが、ハッシュテーブルのキーかどうかを判定します。
パラメータ:
key - 可能なキー
戻り値:
指定されたオブジェクトがこのハッシュテーブルのキーである場合は true、そうでない場合は false
導入されたバージョン:
JDK1.0
関連項目:
contains(java.lang.Object)

get

public Object get(Object key)
指定されたキーにマップされている、ハッシュテーブルの値を返します。
パラメータ:
key - ハッシュテーブルのキー
戻り値:
指定されたキーにマップされているハッシュテーブルの値。指定されたキーにマップされている値がない場合は null
導入されたバージョン:
JDK1.0
関連項目:
put(java.lang.Object, java.lang.Object)

rehash

protected void rehash()
ハッシュテーブルの内容に対してハッシュをやり直して、より大きい容量のハッシュテーブルに格納します。ハッシュテーブルにあるキーの数がハッシュテーブルの容量と負荷係数を超えると、このメソッドが自動的に呼び出されます。
導入されたバージョン:
JDK1.0

put

public Object put(Object key,
                  Object value)
ハッシュテーブルにおいて、指定された key を、指定された value にマップします。 キーや値は null にすることはできません。

この値は、元のキーと等しいキーを指定して get メソッドを呼び出すことによって取り出すことができます。

パラメータ:
key - ハッシュテーブルキー
value - 値
戻り値:
ハッシュテーブルの指定されたキーの前の値。それがない場合は null
例外:
NullPointerException - キーまたは値が null の場合
導入されたバージョン:
JDK1.0
関連項目:
Object.equals(java.lang.Object), get(java.lang.Object)

remove

public Object remove(Object key)
キー (およびそれに対応する値) をハッシュテーブルから削除します。そのキーがハッシュテーブルにない場合は、何も行いません。
パラメータ:
key - 削除するキー
戻り値:
ハッシュテーブルでそのキーにマップされている値。マップされている値がない場合は null
導入されたバージョン:
JDK1.0

clear

public void clear()
このハッシュテーブルを消去して、キーがない状態にします。
導入されたバージョン:
JDK1.0

toString

public String toString()
このハッシュテーブルの文字列表現を比較的長い形式で返します。
オーバーライド:
クラス Object 内の toString
戻り値:
このハッシュテーブルの文字列表現
導入されたバージョン:
JDK1.0