6.Hashtable 
 Hashtable は辞書のようなコンテナである。Vectorや配列は順番にオブジェクトを格納し、インデックス(添字)で格納場所を指定していた。Hashtableは添字(数字)で格納場所を指定するのではなく、クラスのオブジェクトで格納場所を指定する。格納場所を指定するオブジェクトをキーといい、格納されるオブジェクトを値(バリュー)という。
 例えば、キーに英単語を格納し、値にその日本語訳を格納すると、英和辞書を作ることができる。このように何かと何かを対応づけるような場合に使用する。含まれるすべての値にアクセスしたい場合はelementsメソッドを、すべてのキーにアクセスしたい場合にはkeysメソッドを用いる。

import java.util.Hashtable

コンストラクタ
Hashtable()

デフォルトの初期容量(11)でHashtableを作成する

Hashtable(int intialCapacity)

初期容量を指定してHashtableを作成する。初期容量を超えて追加(put)使用とした場合は容量を更新する作業が行われるため、時間がかかる場合がある。

メソッド
void clear()
このHashtableの中身を消去する
Object clone()
このHashtableのコピーを作成する。格納されているキーや値はコピーされない。
boolean contains(Object value)
指定された値が格納されていればTrueを格納されていなければFalseが返される。containsKeyよりも時間がかかる。
boolean containsKey(Object key)
指定されたキーが格納されていればTrueを格納されていなければFalseが返される。
Enumeration elements()
ハッシュテーブルにある値のリストを返す。
Enumeration keys()
ハッシュテーブルにあるキーのリストを返す。
Object get(Object key)
指定されたキーに対応する値を返す。対応する値がない場合はnullが返される。
boolean isEmpty() 
このHashtableがからならTrueを、何かが登録されていればFalseを返す。
Object put(Object key, Object value)
キーに対する値を格納する。key, valueともにnullは受け付けず、NullPointerExceptionを返す。すでに同じキーがある場合、前の値が戻り値として返され、キーがなかった場合にはnullが返される。
Object get(Object key)
キーに対する値を返す。keyはnullの場合またはキーが登録されていない場合はnullが返される。
Object remove(Object key)
指定したキーを削除する。そのキーに対する値が返されるが、なければnullが返される。
int size()
    登録されている項目数を返します。
   
sample) Hashtableクラス
import java.io.*;
imoprt java.util.*;

class Test{
     public static void main (String args[ ] ) {
       ZHashtable table = new Hashtable( );

         //辞書追加
         table.put("pen","ぺン");
         table.put("apple","リンゴ");
         table.put("hand","手");
         table.put("summer","夏");

         //引数がなければ終了
         if ( args.length == 0 )
               System.exit(-1) ;

         String str = (String)table.get( args[0] );
         if ( str == null ) 
               System.out.println("そんな言葉は知りません") ;
         if
               System.out.println(str) ;
    }
}

C:\Java\>java Test map
そんな言葉は知りません

C:\Java\>java Test apple
リンゴ

C:\Java\>