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);
}
}
}