JavaのHashMapの使い方(値のput、getとループ)
Javaのコレクションフレームワークのひとつ、Mapについて、まとめておきます。
結構頻繁に利用するので、、、。
一番良く利用すると思われるHashMapを例にします。
HashMapはキーと値のペアを保持しておくことができるクラスです。
下記例を実行すると分かるように、同じキー名で値をputすると、後からputした値で上書きされます。
また、以前はキーと値をループで回しながら扱うのがすこしめんどくさかったのですが、拡張for文を使うことで、すごくすっきりとした記述で扱うことができるようになりました。
記述例
import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class TestBatch { public static void main(String args[]){ HashMap<String,String> map = new HashMap<String,String>(); map.put("キー1", "キー1の値"); map.put("キー2", "キー2の値"); map.put("キー2", "キー3の値"); if (map.containsKey("キー1")){ System.out.println("キー1=" + map.get("キー1")); }else{ System.out.println("指定したキーは存在しません"); } //拡張for文(for-each)でループ for(Map.Entry<String, String> e : map.entrySet()) { System.out.println(e.getKey() + " : " + e.getValue()); } //Iteratorでループ for (Iterator<Map.Entry<String, String>> it = map.entrySet().iterator(); it.hasNext(); ) { // entryを取得 Map.Entry<String, String> entry = it.next(); // キーを取得 String key = entry.getKey(); // 値を取得 String val = entry.getValue(); System.out.println(key + " : " + val); } } }
拡張for文、とても楽チンですね。
タグ:java