拡張for文

拡張forについて

拡張for文は、配列やList型のデータの中身を順次処理したい時に使用します。

拡張for文を使用せずに配列やList型の中身をを順次処理する時は、中身のlengthを取得して通常のfor文でループ処理をしたり、 Iteratorクラスを使用して順次処理をするといった手間が掛かりますが、拡張for文ではそういった手間が省けスマートにコードを書くことができます。

拡張for構文

拡張for文は以下のような構文です

for (<型> <変数名> : <配列やList型>) { //処理 }

サンプルソース

例1)ArrayListを拡張for文にて処理する

(ExtendedForSample1.java)

public class ExtendedForSample1{
  public static void main(String args[]) {
    //ArrayListデータの作成
    ArrayList<String> ar = new ArrayList<String>();
    ar.add("A");
    ar.add("B");
    ar.add("C");

    //拡張for文にて順次処理
    for (String a : ar) {
      System.out.println(a);
    }
  }
}
(実行結果)
C:\>java ExtendedForSample1 A B C

例2)配列を拡張for文にて処理する

(ExtendedForSample2.java)

public class ExtendedForSample2{
  public static void main(String args[]) {
    //配列データの作成
    int[] a = {1, 3, 5, 7, 9};

    //拡張for文にて順次処理
    for (int i : a) {
      System.out.println(i);
    }
  }
}
(実行結果)
C:\>java ExtendedForSample2 1 3 5 7 9

備考

  • 拡張for文のループ内で、変数を書き換えても元の値は変わらないのでご注意ください。
    (例)
    String[] array = {“A”, “B”, “C”};
    for (String str : array){
     str = “D”;
    }
    ※これを実行してもarrayの中身は”A”, “B”, “C”のままです。

コメント

タイトルとURLをコピーしました