HashMap

提供: Java入門
2015年3月21日 (土) 14:18時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「JavaのHashMapクラスとは、Map インターフェースのハッシュテーブルの実装です。HashMapは、連想配列とも呼ばれます。キー...」)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

JavaのHashMapクラスとは、Map インターフェースのハッシュテーブルの実装です。HashMapは、連想配列とも呼ばれます。キーとバリューのペアを保持できます。

読み方

HashMap
はっしゅまっぷ
連想配列
れんそうはいれつ

概要

HashMapは、このような形で利用します。キーとバリューの型を指定します。

HashMap<Integer, String> map = new HashMap<>();
map.put(1, "foo");
map.put(2, "bar");
map.put(3, "hoge");

HashMapは、キーの重複を許しません。以下の例では、後から put した 1とbarのペアで上書きします。

HashMap<Integer, String> map = new HashMap<>();
map.put(1, "foo");
map.put(1, "bar");	// こちらが優先される

HashMapのメソッド

HashMapのメソッド
メソッド 説明
void clear すべての要素を削除します。
Object clone() インスタンスをコピーします。
boolean containsKey(Object key) 指定されたキーを保持している場合はtrueを返します。
boolean containsValue(Object value) 1つ以上の値があれば、trueを返します。
Set<Map.Entry<K,V>> entrySet() コンテナに含まれるSetビューを返します。
V get(Object key) 指定されたキーの値を返します。
boolean isEmpty コンテナが空の場合は、trueを返します。
Set<K> keySet() コンテナに含まれるキーのSetビューを返します。
V put(K key, V vlaue) 指定されたキーとバリューをコンテナに格納します。
V putAll(Map<> m) 指定されたコンテナをコピーします。
V remove(Object key) 指定されたキーを削除します。
int size() コンテナ内のキーの数を返します。
Collection<V> values() コンテナに含まれる値のCollectionビューを返します。

hashmap1

ソースコード hashmap1.java

この例では、拡張for文を用いて、HashMapの要素を表示します。

/*
 * hashmap1.java
 * Copyright (C) 2015 kaoru <kaoru@bsd>
 */
import java.util.HashMap;
public class hashmap1
{
        public static void main(String[] args) {
                HashMap<Integer, String> map = new HashMap<>();
                map.put(1, "foo");
                map.put(2, "bar");
                map.put(3, "hoge");
 
                for (HashMap.Entry<Integer, String> e : map.entrySet() ) {
                        System.out.println(e.getKey() + " " + e.getValue() );
                }
        }
}

コンパイル

javac hashmap1.java

実行例

$ java hashmap1
1 foo
2 bar
3 hoge

forEachで表示する例

HashMapの内容をforEachを利用して表示する例です。

/*
 * hashmap_foreach1.java
 * Copyright (C) 2015 kaoru <kaoru@bsd>
 */
import java.util.HashMap;
public class hashmap_foreach1
{
        public static void main(String[] args) {
                HashMap<Integer, String> map = new HashMap<>();
                map.put(1, "foo");
                map.put(2, "bar");
                map.put(3, "hoge");
 
                map.forEach( (key, value) ->
			System.out.println(key + " " + value ) );
        }
}

関連項目




スポンサーリンク