// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
J2SE5.0から、For文がいろいろ拡張されました。たとえば以下のような構文をサポートします。
 List<Integer> list = new ArrayList<Integer>();
 for (int i = 0; i < 10; i++) {
     list.add(new Integer(i));
 }
 
 for (Integer integer : list) { <-これ
     System.out.println(integer);
 }
 
 //いままではこのように書いていた
 Iterator<Integer> e = list.iterator();
 while (e.hasNext()) {
   Integer integer = e.next();
   System.out.println(integer);
 }

今まではIteratorを取得してコレクション内部にアクセスしてましたが、
 for ([Collection内のクラス名] [変数名] : [Collectionのインスタンス]) {
     System.out.println([変数名]);
 }
といった書き方でアクセスすることができます。簡単ですね。ちなみにコレクションをGenericsで書かなかった場合は
 List list = new ArrayList();
 for (int i = 0; i < 10; i++) {
   list.add(new Integer(i));
 }
 
 for (Object integer : list) {
   System.out.println((Integer) integer);
 }
などのように多少のキャストが発生します。Genericsとともに使用するととてもさっぱりします。

拡張for文は配列にも使用できます。以下のような感じ。
 String[] arrays = new String[] { "abc", "def", "ghi", "jkl", "mno" };
 for (String string : arrays) {
   System.out.println(string);
 }
簡単ですね。

----
この記事は
#vote(おもしろかった[12],そうでもない[1])
#vote(おもしろかった[13],そうでもない[1])

#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS