全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
クラス java.util.Hashtable
java.lang.Object
|
+----java.util.Dictionary
|
+----java.util.Hashtable
- public class Hashtable
- extends Dictionary
- implements Cloneable, Serializable
このクラスは、ハッシュテーブルを実装するためのもので、キーを値にマップします。null
オブジェクトでなければ、どんなオブジェクトでもキーや値に使用することができます。
ハッシュテーブルにオブジェクトを格納したり、そこから取り出すには、キーとして使用するオブジェクトに、hashCode
メソッドと equals
メソッドが実装されていなければなりません。
Hashtable
のインスタンスには、その効率に影響する容量と負荷係数という 2つのパラメータがあります。負荷係数は、0.0 と 1.0 の間になければなりません。ハッシュテーブルのエントリ数が負荷係数と現在容量の積を超えると、rehash
メソッドを呼び出すことによって容量を増やせます。負荷係数を大きくすれば、それだけメモリーを効率的に使用することができますが、検索にかかる予測時間は大きくなります。
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);
}
- 参照:
- equals, hashCode, rehash
-
Hashtable()
- デフォルトの容量と負荷係数で、空のハッシュテーブルを新しく構築する。
-
Hashtable(int)
- 指定された初期容量とデフォルトの負荷係数で、空のハッシュテーブルを新しく構築する。
-
Hashtable(int, float)
- 指定された初期容量と指定された負荷係数で、空のハッシュテーブルを新しく構築する。
-
clear()
- このハッシュテーブルをクリアする。これにより、このテーブルにはキーが存在しなくなる。
-
clone()
- このハッシュテーブルのクローンを作成する。
-
contains(Object)
- このハッシュテーブルに、指定された値にマップされたキーがあるかどうかを調べる。
-
containsKey(Object)
- 指定されたオブジェクトが、このハッシュテーブルのキーであるかどうかを調べる。
-
elements()
- このハッシュテーブルの値のリストを返す。
-
get(Object)
- 指定されたキーにマップされているこのハッシュテーブルの値を返す。
-
isEmpty()
- 値にマップされているキーが、このハッシュテーブルにあるかどうかを調べる。
-
keys()
- このハッシュテーブルにある値のリストを返す。
-
put(Object, Object)
- このハッシュテーブルで、指定された
key
を、指定された value
にマップする。
-
rehash()
- ハッシュテーブルの内容を、より大きな容量のハッシュテーブルにハッシュし直す。
-
remove(Object)
- このハッシュテーブルからキー(および対応する値)を除去する。
-
size()
- このハッシュテーブルにあるキーの数を返す。
-
toString()
- このハッシュテーブルのかなり長い文字列表現を返す。
Hashtable
public Hashtable(int initialCapacity,
float loadFactor)
- 指定された初期容量と指定する負荷係数で空のハッシュテーブルを新しく構築します。
- パラメータ:
- initialCapacity - ハッシュテーブルの初期容量。
- loadFactor - 0.0 と 1.0の間の数値。
- 例外: IllegalArgumentException
- 初期容量がゼロより小さいかゼロの場合、または負荷係数がゼロより小さいかゼロの場合。
Hashtable
public Hashtable(int initialCapacity)
- 指定された初期容量とデフォルトの負荷係数で空のハッシュテーブルを新しく構築します。
- パラメータ:
- initialCapacity - ハッシュテーブルの初期容量。
Hashtable
public Hashtable()
- デフォルトの容量と負荷係数で空のハッシュテーブルを新しく構築します。
size
public int size()
- このハッシュテーブルにあるキーの数を返します。
- 返り値:
- このハッシュテーブルにあるキーの数。
- オーバーライド:
- クラス Dictionaryの size
isEmpty
public boolean isEmpty()
- 値にマップされているキーが、このハッシュテーブルにあるかどうかを調べます。
- 返り値:
- 値にマップされているキーがこのハッシュテーブルになければ
true
、あればfalse
。
- オーバーライド:
- クラス Dictionaryの isEmpty
keys
public synchronized Enumeration keys()
- このハッシュテーブルにあるキーのリストを返します。
- 返り値:
- このハッシュテーブルにあるキーのリスト。
- オーバーライド:
- クラス Dictionaryの keys
- 参照:
- Enumeration, elements
elements
public synchronized Enumeration elements()
- このハッシュテーブルにある値のリストを返します。これらの要素を順次に取り出すには、Enumerationメソッドを使用します。
- 返り値:
- このハッシュテーブルにある値のリスト。
- オーバーライド:
- クラス Dictionaryの elements
- 参照:
- Enumeration, keys
contains
public synchronized boolean contains(Object value)
- 指定された値にマップされているキーが、このハッシュテーブルにあるかどうかを調べます。この操作は、
containsKey
メソッドよりも負荷がかかります。
- パラメータ:
- value - 検索する値。
- 返り値:
-
value
引数にマップされているキーが、このハッシュテーブルにあればtrue
、なければfalse
。
- 例外: NullPointerException
- 値が
null
の場合。
- 参照:
- containsKey
containsKey
public synchronized boolean containsKey(Object key)
- 指定されたオブジェクトが、このハッシュテーブルのキーかどうかを調べます。
- パラメータ:
- key - 調べるキー。
- 返り値:
- 指定されたオブジェクトがこのハッシュテーブルのキーであれば
true
、そうでなければ、false
。
- 参照:
- contains
get
public synchronized Object get(Object key)
- 指定されたキーにマップされている、このハッシュテーブルの値を返します。
- パラメータ:
- key - ハッシュテーブルのキー、
- 返り値:
- 指定されたキーにマップされているハッシュテーブルの値、または指定されたキーにマップされている値がなければ
null
。
- オーバーライド:
- クラス Dictionaryの get
- 参照:
- put
rehash
protected void rehash()
- ハッシュテーブルの内容を、より大きな容量をもつハッシュテーブルにハッシュし直します。ハッシュテーブルにあるキーの数がハッシュテーブルの容量と負荷係数を超えると、このメソッドが自動的に呼び出されます。
put
public synchronized Object put(Object key,
Object value)
- このハッシュテーブルにおいて、指定された
key
を、指定された value
にマップします。 キーや値は null
であってはなりません。
この値は、元のキーと等しいキーを指定して get
メソッドを呼び出すことによって取り出すことができます。
- パラメータ:
- key - ハッシュテーブルのキー。
- value - 値。
- 返り値:
- このハッシュテーブルの指定するキーの前の値、またはそれがなければ
null
。
- 例外: NullPointerException
- キーか値が
null
の場合。
- オーバーライド:
- クラス Dictionaryの put
- 参照:
- equals, get
remove
public synchronized Object remove(Object key)
- キー (およびそれに対応する値) をこのハッシュテーブルから除去します。そのキーがハッシュテーブルになければ、何もしません。
- パラメータ:
- key - 除去するキー。
- 返り値:
- このハッシュテーブルでそのキーにマップされている値、またはマップされている値がなければ
null
。
- オーバーライド:
- クラス Dictionaryの remove
clear
public synchronized void clear()
- このハッシュテーブルをクリアします。これにより、このテーブルにはキーはありません。
clone
public synchronized Object clone()
- このハッシュテーブルのクローンを作成します。キーや値自体のクローンは作成されません。これは、比較的負担の大きい操作です。
- 返り値:
- ハッシュテーブルのクローン。
- オーバーライド:
- クラス Objectの clone
toString
public synchronized String toString()
- このハッシュテーブルのかなり長い文字列表現を返します。
- 返り値:
- このハッシュテーブルの文字列表現。
- オーバーライド:
- クラス Objectの toString
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス