Java-hashtable-class
Java-Hashtableクラス
Hashtableは元のjava.utilの一部であり、Dictionaryの具体的な実装です。
ただし、Java 2はHashtableを再設計して、Mapインターフェイスも実装するようにしました。 したがって、Hashtableはコレクションフレームワークに統合されました。 HashMapに似ていますが、同期されます。
HashMapと同様に、Hashtableはキー/値のペアをハッシュテーブルに保存します。 ハッシュテーブルを使用する場合、キーとして使用されるオブジェクトと、そのキーにリンクする値を指定します。 その後、キーはハッシュされ、結果のハッシュコードは、値がテーブル内に格納されるインデックスとして使用されます。
以下は、HashTableクラスによって提供されるコンストラクターのリストです。
Sr.No | Constructor & Description |
---|---|
1 |
Hashtable( ) これは、Hashtableクラスをインスタンス化するハッシュテーブルのデフォルトコンストラクターです。 |
2 |
Hashtable(int size) このコンストラクターは整数パラメーターを受け入れ、整数値のサイズで指定された初期サイズを持つハッシュテーブルを作成します。 |
3 |
Hashtable(int size, float fillRatio) これにより、sizeで指定された初期サイズとfillRatioで指定された充足率を持つハッシュテーブルが作成されます。 この比率は0.0から1.0の間である必要があり、上方向にサイズ変更される前にハッシュテーブルがどれだけいっぱいになるかを決定します。 |
4 |
Hashtable(Map < ? extends K, ? extends V > t) これは、指定されたマッピングでハッシュテーブルを構築します。 |
Mapインターフェイスで定義されたメソッドとは別に、Hashtableは次のメソッドを定義します-
Sr.No | Method & Description |
---|---|
1 |
void clear( ) ハッシュテーブルをリセットして空にします。 |
2 |
Object clone( ) 呼び出しオブジェクトの複製を返します。 |
3 |
boolean contains(Object value) 値と等しい値がハッシュテーブル内に存在する場合、trueを返します。 値が見つからない場合はfalseを返します。 |
4 |
boolean containsKey(Object key) キーと等しいキーがハッシュテーブル内に存在する場合、trueを返します。 キーが見つからない場合はfalseを返します。 |
5 |
boolean containsValue(Object value) 値と等しい値がハッシュテーブル内に存在する場合、trueを返します。 値が見つからない場合はfalseを返します。 |
6 |
Enumeration elements( ) ハッシュテーブルに含まれる値の列挙を返します。 |
7 |
Object get(Object key) キーに関連付けられた値を含むオブジェクトを返します。 キーがハッシュテーブルにない場合、nullオブジェクトが返されます。 |
8 |
boolean isEmpty( ) ハッシュテーブルが空の場合、trueを返します。少なくとも1つのキーが含まれている場合はfalseを返します。 |
9 |
Enumeration keys( ) ハッシュテーブルに含まれるキーの列挙を返します。 |
10 |
Object put(Object key, Object value) ハッシュテーブルにキーと値を挿入します。 キーがハッシュテーブルにない場合はnullを返します。キーが既にハッシュテーブルにある場合、キーに関連付けられた以前の値を返します。 |
11 |
void rehash( ) ハッシュテーブルのサイズを増やし、すべてのキーを再ハッシュします。 |
12 |
Object remove(Object key) キーとその値を削除します。 キーに関連付けられた値を返します。 キーがハッシュテーブルにない場合、nullオブジェクトが返されます。 |
13 |
int size( ) ハッシュテーブルのエントリ数を返します。 |
14 |
String toString( ) ハッシュテーブルに相当する文字列を返します。 |
例
次のプログラムは、このデータ構造でサポートされているメソッドのいくつかを示しています-
import java.util.*;
public class HashTableDemo {
public static void main(String args[]) {
//Create a hash map
Hashtable balance = new Hashtable();
Enumeration names;
String str;
double bal;
balance.put("Zara", new Double(3434.34));
balance.put("Mahnaz", new Double(123.22));
balance.put("Ayan", new Double(1378.00));
balance.put("Daisy", new Double(99.22));
balance.put("Qadir", new Double(-19.08));
//Show all balances in hash table.
names = balance.keys();
while(names.hasMoreElements()) {
str = (String) names.nextElement();
System.out.println(str + ": " + balance.get(str));
}
System.out.println();
//Deposit 1,000 into Zara's account
bal = ((Double)balance.get("Zara")).doubleValue();
balance.put("Zara", new Double(bal + 1000));
System.out.println("Zara's new balance: " + balance.get("Zara"));
}
}
これは、次の結果を生成します-
出力
Qadir: -19.08
Zara: 3434.34
Mahnaz: 123.22
Daisy: 99.22
Ayan: 1378.0
Zara's new balance: 4434.34