Java-hashmap-class

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

Java-HashMapクラス

HashMapクラスは、ハッシュテーブルを使用してMapインターフェイスを実装します。 これにより、get()やput()などの基本操作の実行時間を、大きなセットに対しても一定に保つことができます。

以下は、HashMapクラスでサポートされるコンストラクターのリストです。

Sr.No. Constructor & Description
1

HashMap( )

このコンストラクタは、デフォルトのHashMapを構築します。

2

HashMap(Map m)

このコンストラクターは、指定されたMapオブジェクト m の要素を使用して、ハッシュマップを初期化します。

3

HashMap(int capacity)

このコンストラクターは、ハッシュマップの容量を指定された整数値である容量に初期化します。

4

HashMap(int capacity, float fillRatio)

このコンストラクターは、引数を使用して、ハッシュマップの容量と充填率の両方を初期化します。

親クラスから継承されたメソッドとは別に、HashMapは次のメソッドを定義します-

Sr.No. Method & Description
1

void clear()

このマップからすべてのマッピングを削除します。

2

Object clone()

このHashMapインスタンスの浅いコピーを返します。キーと値自体は複製されません。

3

boolean containsKey(Object key)

このマップに指定されたキーのマッピングが含まれている場合、trueを返します。

4

boolean containsValue(Object value)

このマップが1つ以上のキーを指定された値にマップする場合はtrueを返します。

5

Set entrySet()

このマップに含まれるマッピングのコレクションビューを返します。

6

Object get(Object key)

指定されたキーがこのアイデンティティハッシュマップでマップされる値を返します。マップにこのキーのマッピングが含まれていない場合はnullを返します。

7

boolean isEmpty()

このマップにキーと値のマッピングが含まれていない場合にtrueを返します。

8

Set keySet()

このマップに含まれるキーのセットビューを返します。

9

Object put(Object key, Object value)

このマップ内の指定されたキーに指定された値を関連付けます。

10

putAll(Map m)

指定したマップからこのマップにすべてのマッピングをコピーします。 これらのマッピングは、指定されたマップに現在あるキーのいずれかに対してこのマップが持っていたマッピングを置き換えます。

11

Object remove(Object key)

存在する場合、このマップからこのキーのマッピングを削除します。

12

int size()

このマップ内のキーと値のマッピングの数を返します。

13

Collection values()

このマップに含まれる値のコレクションビューを返します。

次のプログラムは、このコレクションでサポートされているメソッドのいくつかを示しています-

import java.util.*;
public class HashMapDemo {

   public static void main(String args[]) {

     //Create a hash map
      HashMap hm = new HashMap();

     //Put elements to the map
      hm.put("Zara", new Double(3434.34));
      hm.put("Mahnaz", new Double(123.22));
      hm.put("Ayan", new Double(1378.00));
      hm.put("Daisy", new Double(99.22));
      hm.put("Qadir", new Double(-19.08));

     //Get a set of the entries
      Set set = hm.entrySet();

     //Get an iterator
      Iterator i = set.iterator();

     //Display elements
      while(i.hasNext()) {
         Map.Entry me = (Map.Entry)i.next();
         System.out.print(me.getKey() + ": ");
         System.out.println(me.getValue());
      }
      System.out.println();

     //Deposit 1000 into Zara's account
      double balance = ((Double)hm.get("Zara")).doubleValue();
      hm.put("Zara", new Double(balance + 1000));
      System.out.println("Zara's new balance: " + hm.get("Zara"));
   }
}

これは、次の結果を生成します-

出力

Daisy: 99.22
Ayan: 1378.0
Zara: 3434.34
Qadir: -19.08
Mahnaz: 123.22

Zara's new balance: 4434.34