Java-hashtable-class

提供:Dev Guides
移動先:案内検索

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