ここでは、HashMap を使用してキー・バリュー形式でデータ管理を行う簡単なサンプルコードを掲載しています。Java に限らず多くの言語でも同じようなクラスが存在します。.NetFramework だと、Dictionary ジェネリッククラスが似ています。
スポンサーリンク
HashMap の簡単な使い方 ( 追加 / 削除 / ループ )
HashMap の使用例になります。詳細はコメントを参照ください。
/*
* キー(String)と値(Integer)のハッシュマップを作成する
*/
HashMap<String, Integer> students = new HashMap<String, Integer>();
students.put("安倍", 55); // 安倍さん55歳をHashMapに追加
students.put("鳩", 95); // 鳩さん95歳をHashMapに追加
// 指定したキーを持つ要素が存在するか確認
if(students.containsKey("鳩")) {
// 間違えて登録したので削除
students.remove("鳩");
}
students.put("小泉", 65); // 小泉さん65歳をHashMapに追加
students.put("麻生", 75); // 麻生さん75歳をHashMapに追加
// ハッシュマップのキーと値をすべて出力する
for (Entry<String, Integer> e : students.entrySet()) {
System.out.println(e.getKey() + " : " + e.getValue());
// 値を100で更新する
e.setValue(100);
}
/*
* 出力結果
* -----------------
* 小泉 : 65
* 麻生 : 75
* 安倍 : 55
*/
// 上記で更新した値が反映されているか確認する
for (Entry<String, Integer> e : students.entrySet()) {
System.out.println(e.getKey() + " : " + e.getValue());
}
/*
* 出力結果
* -----------------
* 小泉 : 100
* 麻生 : 100
* 安倍 : 100
*/
注意点
上記の出力結果からわかるように、put メソッドによって追加した要素が追加した順番で HashMap クラスで管理されているわけではありません。マニュアルにも「その順序を常に一定に保つことを保証しない」と記載されています。追加した順序を維持したまま要素を管理したい場合には HashMap ではなく、LinkedHashMap の代替利用を考えたほうがよいでしょう。
参考