全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス

クラス 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

Constructor Index

 o Hashtable()
デフォルトの容量と負荷係数で、空のハッシュテーブルを新しく構築する。
 o Hashtable(int)
指定された初期容量とデフォルトの負荷係数で、空のハッシュテーブルを新しく構築する。
 o Hashtable(int, float)
指定された初期容量と指定された負荷係数で、空のハッシュテーブルを新しく構築する。

Method Index

 o clear()
このハッシュテーブルをクリアする。これにより、このテーブルにはキーが存在しなくなる。
 o clone()
このハッシュテーブルのクローンを作成する。
 o contains(Object)
このハッシュテーブルに、指定された値にマップされたキーがあるかどうかを調べる。
 o containsKey(Object)
指定されたオブジェクトが、このハッシュテーブルのキーであるかどうかを調べる。
 o elements()
このハッシュテーブルの値のリストを返す。
 o get(Object)
指定されたキーにマップされているこのハッシュテーブルの値を返す。
 o isEmpty()
値にマップされているキーが、このハッシュテーブルにあるかどうかを調べる。
 o keys()
このハッシュテーブルにある値のリストを返す。
 o put(Object, Object)
このハッシュテーブルで、指定された keyを、指定された valueにマップする。
 o rehash()
ハッシュテーブルの内容を、より大きな容量のハッシュテーブルにハッシュし直す。
 o remove(Object)
このハッシュテーブルからキー(および対応する値)を除去する。
 o size()
このハッシュテーブルにあるキーの数を返す。
 o toString()
このハッシュテーブルのかなり長い文字列表現を返す。

Constructors

 o Hashtable
  public Hashtable(int initialCapacity,
                   float loadFactor)
指定された初期容量と指定する負荷係数で空のハッシュテーブルを新しく構築します。

パラメータ:
initialCapacity - ハッシュテーブルの初期容量。
loadFactor - 0.0 と 1.0の間の数値。
例外: IllegalArgumentException
初期容量がゼロより小さいかゼロの場合、または負荷係数がゼロより小さいかゼロの場合。
 o Hashtable
  public Hashtable(int initialCapacity)
指定された初期容量とデフォルトの負荷係数で空のハッシュテーブルを新しく構築します。

パラメータ:
initialCapacity - ハッシュテーブルの初期容量。
 o Hashtable
  public Hashtable()
デフォルトの容量と負荷係数で空のハッシュテーブルを新しく構築します。

Methods

 o size
  public int size()
このハッシュテーブルにあるキーの数を返します。

返り値:
このハッシュテーブルにあるキーの数。
オーバーライド:
クラス Dictionarysize
 o isEmpty
  public boolean isEmpty()
値にマップされているキーが、このハッシュテーブルにあるかどうかを調べます。

返り値:
値にマップされているキーがこのハッシュテーブルになければtrue、あればfalse
オーバーライド:
クラス DictionaryisEmpty
 o keys
  public synchronized Enumeration keys()
このハッシュテーブルにあるキーのリストを返します。

返り値:
このハッシュテーブルにあるキーのリスト。
オーバーライド:
クラス Dictionarykeys
参照:
Enumeration, elements
 o elements
  public synchronized Enumeration elements()
このハッシュテーブルにある値のリストを返します。これらの要素を順次に取り出すには、Enumerationメソッドを使用します。

返り値:
このハッシュテーブルにある値のリスト。
オーバーライド:
クラス Dictionaryelements
参照:
Enumeration, keys
 o contains
  public synchronized boolean contains(Object value)
指定された値にマップされているキーが、このハッシュテーブルにあるかどうかを調べます。この操作は、containsKeyメソッドよりも負荷がかかります。

パラメータ:
value - 検索する値。
返り値:
value引数にマップされているキーが、このハッシュテーブルにあればtrue、なければfalse
例外: NullPointerException
値が nullの場合。
参照:
containsKey
 o containsKey
  public synchronized boolean containsKey(Object key)
指定されたオブジェクトが、このハッシュテーブルのキーかどうかを調べます。

パラメータ:
key - 調べるキー。
返り値:
指定されたオブジェクトがこのハッシュテーブルのキーであればtrue、そうでなければ、false
参照:
contains
 o get
  public synchronized Object get(Object key)
指定されたキーにマップされている、このハッシュテーブルの値を返します。

パラメータ:
key - ハッシュテーブルのキー、
返り値:
指定されたキーにマップされているハッシュテーブルの値、または指定されたキーにマップされている値がなければnull
オーバーライド:
クラス Dictionaryget
参照:
put
 o rehash
  protected void rehash()
ハッシュテーブルの内容を、より大きな容量をもつハッシュテーブルにハッシュし直します。ハッシュテーブルにあるキーの数がハッシュテーブルの容量と負荷係数を超えると、このメソッドが自動的に呼び出されます。

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

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

パラメータ:
key - ハッシュテーブルのキー。
value - 値。
返り値:
このハッシュテーブルの指定するキーの前の値、またはそれがなければ null
例外: NullPointerException
キーか値が nullの場合。
オーバーライド:
クラス Dictionaryput
参照:
equals, get
 o remove
  public synchronized Object remove(Object key)
キー (およびそれに対応する値) をこのハッシュテーブルから除去します。そのキーがハッシュテーブルになければ、何もしません。

パラメータ:
key - 除去するキー。
返り値:
このハッシュテーブルでそのキーにマップされている値、またはマップされている値がなければnull
オーバーライド:
クラス Dictionaryremove
 o clear
  public synchronized void clear()
このハッシュテーブルをクリアします。これにより、このテーブルにはキーはありません。

 o clone
  public synchronized Object clone()
このハッシュテーブルのクローンを作成します。キーや値自体のクローンは作成されません。これは、比較的負担の大きい操作です。

返り値:
ハッシュテーブルのクローン。
オーバーライド:
クラス Objectclone
 o toString
  public synchronized String toString()
このハッシュテーブルのかなり長い文字列表現を返します。

返り値:
このハッシュテーブルの文字列表現。
オーバーライド:
クラス ObjecttoString

全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス