拡張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”のままです。
コメント