Hatena::ブログ(Diary)

やままの間っ! RSSフィード

2008/05/30 (Fri)

JavaのMapを拡張for文(for-each)でループする

またまた覚書ネタですが、JDK5.0の拡張for文(for-each)ですが、配列やらCollectionやらをループするのがとても楽チン。

for(Iterator i=list.iterator(); i.hasNext();) {
    System.out.println(i.next());
}

// ↑これが
// ↓こう書ける・・・素晴らしいっ

for(String s : list) {
    System.out.println(s);
}

Mapの場合、Map#keySet()でkeyだけ、Map#values()でvalueだけ、は簡単に取れるけど拡張for文(for-each)でループさせてkey/valueのペアを取得する方法。

for(Map.Entry<String, String> e : map.entrySet()) {
    System.out.println(e.getKey() + " : " + e.getValue());
}

なるほど、Map.Entryというinterfaceが定義されてて、そのSetが返ってくるんですな。

便利だー!

moretamoreta 2009/01/13 18:18 なるほど,
いいですねMap.Entryが格調for文で動くとは考えられなかったです。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

リンク元
Connection: close