はじめに
スッキリわかるサーブレット&JSP入門にて勉強していて何気なく使っていた
HashMapがわかったつもりになっていたのでまとめてみた。
Mapの使い方
マップ(Map)は、2つの情報をキー(key)と値(value)をペアとして格納する。
※キーとデータの組み合わせをエントリーと呼ぶ。
- HashMapクラスの利用
HashMapのインスタンス化
Map<キーの型, 値の型> マップ変数 = new HashMap<キーの型, 値の型>(); //総称型の利用(JDK1.5)
Map<キーの型, 値の型> マップ変数 = new HashMap<>(); //型引数を省略(JDK1.7)
- キーと値のデータ型を指定する。
※int型の場合はIntegerとする。
またHashMapでは下記のようなメソッドをもつ。
戻り値 | メソッド | 意味 |
---|---|---|
put(●, ▲) | マップに●と▲のペアを格納 | |
get(●) | キーの値に対応する値を取得 | |
int | size() | 格納されているペア数を数える |
remove(●) | 指定した内容の要素を削除 | |
Set<●> | keySet() | 格納されているキーの一覧を返す |
まだまだたくさんありますのでこのリンクを参考までに。。。
注意点:Mapでは値の重複は許されるがキーの重複は許されない。
サンプルコード
Main.java
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
Map<String, Integer> prefs = new HashMap<String, Integer>();
prefs.put("京都府", 255); //要素を格納
prefs.put("東京都", 1261);
prefs.put("熊本県", 181);
System.out.println(prefs.get("京都府")); //要素を取り出す
int Tokyo = prefs.get("東京都"); //キーを指定し、要素を取り出し代入
System.out.println(Tokyo);
prefs.put("東京都", 1500); //解説①
System.out.println(prefs.get("東京都"));
prefs.remove("熊本県"); //要素を削除
System.out.println(prefs.size()); //格納されているペア数を取得
}
}
出力結果
255
1261
1500
2
解説① :同じキーで異なる値をput()すると値が上書きされてしまう。
最後に
わかったつもりでいると痛い目にあいますね。。笑