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{ //引数がなければ終了 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\> |