Mapの使用方法について解説しています。
「java.util.Map」のインポートが必要なのでお忘れなく。
Mapの使い方
Mapは「キー(key)」、「バリュー(value)」のセットでデータを格納します。
インスタンス化
Map<キーの型, バリューの型> 変数名 = new HashMap<キーの型, バリューの型>();
HashMapでよく利用するメソッドは以下の通りです。
メソッド | 説明 |
---|---|
put(K, V) | Mapに対してキーバリューのペアを格納 |
get(K) | 指定したキーに対するバリューを取得 |
size() | 格納されているデータ数を返却 |
サンプルコード
import java.util.Map;
public class Main {
public static void main (String[] args) {
// Mapを宣言する
Map<Integer, String> likeColor = new HashMap<Integer, String>();
// データの追加を行う
likeColor.put(1, "Blue");
likeColor.put(2, "Yellow");
likeColor.put(3, "Green");
// バリューの取得
String color = likeColor.get(1));
System.out.println(color);
System.out.println(likeColor.get(2));
System.out.println(likeColor.get(3));
// 既存キーを再度putするとバリューが上書きされます
likeColor.put(3, "Red");
likeColor.put(4, "Black");
System.out.println("Mapのサイズ:" + likeColor.size());
System.out.println(likeColor.get(3));
System.out.println(likeColor.get(4));
}
}
実行結果
Blue
Yellow
Green
Mapのサイズ:4
Red
Black
Mapのループ処理
Mapに対して繰り返し処理の書き方は複数あります。
その中でも特によく使用されるものを
拡張for文で順に取得し表示を行います。
keySetメソッドでキーをループ
keySetメソッドを使用することで
Mapのキーを取得できます。
Map<String, String> map new HashMap<String, String>();
map.put("red", "tomato");
map.put("yellow", "banana");
for (String key : map.keySet()) {
System.out.println(key):
}
実行結果
red
yellow
valuesメソッドで値をループ
valuesメソッドを使用してMapの値を取得します。
Map<String, String> map = new HashMap<String, String>();
map.put("red", "tomato");
map.put("yellow", "banana");
for (String value : map.values()) {
System.out.println(value);
}
実行結果
tomato
banana
entrySetメソッドでキーバリューをループ
entrySetメソッドを利用することで
キーとバリューをセットで取得できます。
キーはgetKeyメソッドを利用し、
バリューはgetValueメソッドを利用することで
それぞれの値を取得することができます。
Map<String, String> map = new HashMap<String, String>();
map.put("red", "tomato");
map.put("yellow", "banana");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}
実行結果
red = tomato
yellow = banan