拡張for文 (J2SE5.0以降)

コレクションや配列(Collection, Array, List, Vector, Map等)で、要素の先頭から順にアクセスしていく場合に使える。

例1

まず普通のfor

Hoge[] hoge;

...//hogeになんか入れる。

for(int i = 0; i < hoge.length; i++){
 //なんか処理
}

これを拡張for文で書き直すと、

Hoge[] hoge;

...//hogeになんか入れる。

for(Hoge h: hoge){
 //なんか処理
}

になる。

例2

iterator使ったwhile

List<Integer> list = new ArrayList<Integer>();
     
...//listになんか入れる。

Iterator<Integer> it = list.iterator();
while (it.hasNext()) {
  Integer i = it.next();
  //なんか処理
}

これも、

List<Integer> list = new ArrayList<Integer>();
     
...//listになんか入れる。

for(Integer i : list){
  //なんか処理
}

になる。

例3

上のenumのやつを拡張for文でまわすと、

for (BigFour bf : BigFour.values()) {
  //なんか処理
}

これはあんま使い道はなさそう。


(コードは全部動作未確認だったりする。)
イテレータがよくわからなくなる自分としては、ちょっとありがたいかなと思った。