Java 拡張for文 配列やコレクションをループで取得

Javaの拡張for文のサンプルです。配列やコレクションの値をループで取得します。

目次

サンプル 拡張for文とは
  配列の値を取得 / リストの値を取得 / マップのキーと値を取得
ループを抜ける(break)
ループの先頭に戻る(continue)

拡張for文とは

for( データ型 変数1 : 配列やコレクションの変数2 ){
  実行される処理(変数1を使用する)
}
  • カウントする変数を使わないため拡張for文と呼ばれます。
  • 配列やコレクションの値を順番にアクセスします。

 

配列の値を取得

package test1;

public class Test1 {
	public static void main(String[] args) {
		int array[] = {1, 2, 3};

		for (int i: array){
		  System.out.println(i); //出力結果:1 2 3
		}
 	}
}

5行目は、配列です。
7行目は、拡張for文で配列の値を取得しています。

 

リストの値を取得

package test1;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Test1 {
	public static void main(String[] args) {
		List<String> c = new ArrayList<>(Arrays.asList("赤","黄","青"));

		for (String a : c) {
			System.out.println(a); // 赤 黄 青が出力される
		}
	}
}

8行目は、リストです。
10行目は、拡張for文でリストの値を取得しています。

 

マップのキーと値を取得

package test1;
import java.util.HashMap;
import java.util.Map;

public class Test1 {
	public static void main(String[] args) {
		Map<String,String> color = new HashMap<>();
		color.put("a", "赤");
		color.put("b", "黄");
		color.put("c", "青");
		
		for (Map.Entry<String, String> c1 : color.entrySet()) {
			System.out.println(c1.getKey());// a b c
			System.out.println(c1.getValue());// 赤 黄 青
		}
	}
 }

7行目は、マップです。
12行目は、拡張for文です。
13,14行目は、マップのキーと値を取得しています。

 

ループを抜ける(break)

breakでループを抜けるサンプルです。

package test1;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Test1 {
    public static void main(String[] args) {
		List<String> c1 = new ArrayList<>(Arrays.asList("赤","黄","青"));
		
		for (String a : c1) {
			if (a == "黄"){
				break;
			}
			System.out.println(a); // 出力結果:赤
		}
    }
}

12行目は、breakで拡張for文のループから抜けます。
結果「赤」のみ出力されます。

 

ループの先頭に戻る(continue)

continueでループの先頭に戻るサンプルです。

package test1;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Test1 {
    public static void main(String[] args) {
		List<String> c1 = new ArrayList<>(Arrays.asList("赤","黄","青"));
		
		for (String a : c1) {
			if (a == "黄"){
				continue;
			}
			System.out.println(a); // 出力結果:赤 青
		}
    }
}

12行目は、continueで拡張for文の先頭(10行目)に戻ります。
結果「赤」と「青」が出力されます。

関連の記事

Java for文 処理を繰り返す(break/continue)
Java 配列の仕組みと使い方のサンプル
Java 配列からリスト・セットを作成(addAll/asList)

△上に戻る