java.util.HashMap

java.util.HashMap は、Map インタフェースに基づいたハッシュテーブルです。キーと値の組を複数保持することができます。

目次

  1. コレクション
  2. クラス図
  3. 実装インタフェース
  4. コンストラクタ
  5. メソッド
    1. clear
    2. get
    3. put
    4. remove
    5. size
    6. values
    7. containsKey
  6. 例

コレクション

コレクションとは「複数のデータを一つにまとめて扱うための仕組み(容器)」のことである。通常、変数は一つの値しか保持できないが、コレクションを使うことで大量のデータをグループ化し、一括で管理したり、順番に処理したりできるようになる。

Java のコレクションを以下に示す。

Javaのコレクション
クラス 順序性 添字 キー 値の重複
Array あり ✓ ✗ 可
HashMap なし ✗ ✓ 可
HashSet なし ✗ ✗ 不可

クラス図

java.util.HashMap のクラス図を以下に示す。

java.util.HashMapのクラス図
Figure 1. java.util.HashMapのクラス図

実装インタフェース

java.util.HashMap は、以下に示すインタフェースを実装しているため、これらのインタフェースで定義されているフィールドやメソッドを利用できる。

コンストラクタ

デフォルトの初期容量(16)で空のHashMapを作成する。

HashMap<K, V>()
K

キーの型をプリミティブ型又はクラス名で指定する。

V

値の型をプリミティブ型又はクラス名で指定する。

指定した初期容量で空のHashMapを作成する。

HashMap<K, V>(int initialCapacity)
initialCapacity

初期容量

メソッド

HashMapのメソッド
メソッド 説明
clear マップからマッピングをすべて削除する。
get 指定したキーがマップされている値を返す。
put 指定したキーと値をマップに関連付ける。
remove 指定したキーのマッピングをマップから削除する。
size マップ内のキー値マッピングの数を返す。
values マップに含まれる値のCollectionビューを返す。
containsKey マップが指定キーマッピングを保持する場合にtrueを返す。

clear

HashMapをクリアする。

void clear()

get

指定したキーに対応する値を戻り値として返す。

V get(K key)
key
キーを指定する。

ハッシュマップから値を取得する例を次に示す。

import java.util.HashMap;

public class Example {
    public static void main(String args[]) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("height", 200);
        System.out.println(map.get("height"));
    }
}

put

指定したキーがHashMapに存在しない場合、キーと値のペアをHashMapに追加する。指定したキーがHashMapに存在する場合、キーに対応する値を変更する。

V put(K key, V value)
key
キーを指定する。
value
値を指定する。

ハッシュマップに値を設定する例を次に示す。

import java.util.HashMap;

public class Example {
    public static void main(String args[]) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("height", 200);
        map.put("width", 300);
    }
}

remove

指定したキーと対応する値をHashMapから削除する。

V remove(K key)
key

キーを指定する。

size

HashMapに存在するキーの数を返す。

int size()

values

HashMapに存在するすべての値を返す。

Collection<V> values()

containsKey

指定したキーがHashMapに存在するかどうかを返す。

boolean containsKey(K key )
key

キーを指定する。

例

Java Mapのサンプルを示す。

import java.util.HashMap;

class HashMapExample {
  public static void main(String[] args) {
    HashMap<String, Integer> hm = new HashMap<String, Integer>();
    hm.put("height", 100);
    hm.put("width", 200);
    System.out.println(hm.get("height"));
    System.out.println(hm.get("width"));
  }
}

上記Java Mapサンプルの実行結果を示す。

100
200

HashMapからすべての要素を取り出す。

HashMap<String, Integer> hm = new HashMap<String, Integer>();
hm.put("height", 100);
hm.put("width", 200);

for (String key : hm.keySet()) {
  System.out.println(key + ":" + hm.get(key));
}