2008/05/19

Mapを拡張forループでぶんまわす [ Java ]

ものすごい更新が空いてしまった……
基本的にものぐさなんでよくない傾向です。
そして左肩が痛い。もう四十肩ですかね?
一応25歳なんですけど……まぁいいや。

今日は先日紹介した拡張forループ文を使ってMapをループ
する方法です。

基本的にMapを作る時ってKey値を指定してValueを取得する事が
多いと思うんですが、場合によってはMapの値を全てを取得したい
って事もあると思います。そんな時は下記のように拡張forループを使います。

Map classMate = new LinkedHashMap();

classMate.add("01", "佐藤");
classMate.add("02", "田中");
classMate.add("03", "高橋");
classMate.add("04", "鈴木");

for(Map.Entry person : classMate.entrySet()){
System.out.println(person.getKey());
System.out.println(person.getValue());
}

上記のように書く事で、01佐藤02田中03高橋04鈴木 のように出力されます。
簡単ですね。ポイントは

(マップ名).entrySet()

とする事でエントリのSet(Collectionを継承している)を取得する所。
もう一つのポイントは

Map.Entry<(型名), (型名)> とする事でエントリの型を指定する所かな?

知らないでも特に不自由しないけど、知ってると何かで役立つような情報でした。

0 件のコメント: