Latest web development tutorials

JavaのHashtableのインターフェイス

ハッシュテーブルは、元java.utilでの一部は辞書具体的な実装です。

ただし、Java 2再建のHashtableがMapインタフェースを実装していますので、Hashtableのは今コレクションフレームワークに統合されています。 これは、HashMapのクラスは非常に似ていますが、同期をサポートします。

同様のHashMapと同様に、ハッシュテーブル内のHashtableは、キー/値のペアを格納します。 キーとしてオブジェクトを指定するには、ハッシュテーブルを使用して、とするときは、債券の値にリンクしたいです。

そして、キーはハッシュされ、得られたハッシュ・コードは、テーブル内の値を格納するための指標として使用されます。

ハッシュテーブルは、4つのコンストラクタを定義します。 最初は、デフォルトのコンストラクタです。

Hashtable()

第二のコンストラクタは、ハッシュテーブル指定したサイズを作成します。

Hashtable(int size)

第三のコンストラクタは、ハッシュテーブルの指定したサイズを作成し、fillRatioによってフィル割合を指定します。

充填率は、リサイズ前にハッシュテーブルの全範囲を決定する、0.0と1.0の間でなければなりません。

Hashtable(int size,float fillRatio)

第四のコンストラクタは、ハッシュテーブル内のM元素の要素が初期化されて作成されます。

ハッシュテーブルの容量は、Mのを倍に設定されています。

Hashtable(Map m)

Mapインタフェースで定義された方法に加えて、ハッシュテーブルだけでなく、次のメソッドを定義します。

いいえ。 メソッド説明
1 明確無効()
、キーがないように、このハッシュテーブルをクリアします。
2 オブジェクトのクローン()
このハッシュテーブルの簡易コピーを作成します。
3 ブール値が含まれている(Object値)
指定されたキーのテストこのマッピングテーブルに関連付けられた値が存在するかどうか。
4 ブールのcontainsKey(オブジェクトキー)
指定されたオブジェクトが、ハッシュテーブルのキーである場合。
5 ブールのcontainsValue(Object値)
このハッシュテーブルがこの値に1つ以上のキーをマッピングする場合は、trueを返します。
6 列挙要素()
ハッシュテーブルの列挙値を返します。
7 オブジェクトのget(オブジェクトキー)
値vマッピングにキーkから指定されたキーをこのマップがこのキーのマッピングを保持していない場合、それはnullを返します。より正式には、このマップは(key.equals(k)を)含まれている場合は、値にマッピングされている返します、その後、この方法は、V返し、それ以外の場合はnullを返します。
8 ブールのisEmpty()
テストこのハッシュテーブルは、値に何のキーをマッピングしていない場合。
9 列挙キー()
ハッシュテーブルのキーのリストを返します。
10 オブジェクトプット(オブジェクトキー、Object値
指定されたキーは、ハッシュテーブル指定された値にマップされます。
11 ボイド焼き直し()
より良い適応とその要素にアクセスするには、ハッシュテーブルの容量とその内部の再編成を増やします。
12 オブジェクト削除(オブジェクトキー)
ハッシュテーブルからキーとその対応する値を削除します。
13 int型のサイズ()
このハッシュテーブルにあるキーの数を返します。
14 文字列のtoString()
中括弧で囲まれたASCII文字分離 "、"(コンマとスペース)、の形やエントリのセットでHashtableオブジェクトの文字列表現を返します。

次のプログラムは、このデータ構造は、いくつかのメソッドをサポートして示しています。

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