foreach
JDK 1.5は、拡張forサイクルを追加し、配列およびセット内のデータへのアクセスを実現するために使用できます。
拡張forループの構文:
for(元素の種類 変数名:循環する配列または集合名){……}
構文では、最初の要素タイプは配列または集合中の要素のタイプで、変数名は循環時に各要素の値を保存するために使用され、コロンの後に循環する配列または集合名があります。
foreach文はfor文の特殊な簡略化バージョンですが、foreach文は完全にfor文に取って代わることはできません。しかし、任意のforeach文はすべてfor文に書き換えられます。
一、foreach配列と集合のエルゴード
実行結果:
----1----並べ替え前の1次元配列 2 3 1 ----1----並べ替え後の1次元配列 1 2 3 ----2----froeach文出力セット要素 1 3 4 ----2−−−−froeach文出力セット変換による配列要素 1 3 4 ----4−−−−−foreach出力三次元配列試験 1 2 3 4 5 6 7 8 Process finished with exit code 0
拡張forループの構文:
for(元素の種類 変数名:循環する配列または集合名){……}
構文では、最初の要素タイプは配列または集合中の要素のタイプで、変数名は循環時に各要素の値を保存するために使用され、コロンの後に循環する配列または集合名があります。
foreach文はfor文の特殊な簡略化バージョンですが、foreach文は完全にfor文に取って代わることはできません。しかし、任意のforeach文はすべてfor文に書き換えられます。
一、foreach配列と集合のエルゴード
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
public class TestArray {
public static void main(String args[]) {
TestArray test = new TestArray();
test.test1();
test.listToArray();
test.testArray3();
}
/**
* foreach
*/
public void test1() {
//
int arr[] = {2, 3, 1};
System.out.println("----1---- ");
for (int x : arr) {
System.out.println(x); //
}
//
Arrays.sort(arr);
// java for each
System.out.println("----1---- ");
for (int x : arr) {
System.out.println(x); //
}
}
/**
*
*/
public void listToArray() {
// List
List<String> list = new ArrayList<String>();
list.add("1");
list.add("3");
list.add("4");
// froeach
System.out.println("----2----froeach ");
for (String x : list) {
System.out.println(x);
}
// ArrayList
Object s[] = list.toArray();
// froeach
System.out.println("----2----froeach ");
for (Object x : s) {
System.out.println(x.toString()); //
}
}
/**
* foreach
*/
public void testArray2() {
int arr2[][] = {{4, 3}, {1, 2}};
System.out.println("----3----foreach ");
for (int x[] : arr2) {
for (int e : x) {
System.out.println(e); //
}
}
}
/**
* foreach
*/
public void testArray3() {
int arr[][][] = {
{{1, 2}, {3, 4}},
{{5, 6}, {7, 8}}
};
System.out.println("----4----foreach ");
for (int[][] a2 : arr) {
for (int[] a1 : a2) {
for (int x : a1) {
System.out.println(x);
}
}
}
}
}
実行結果:
----1----並べ替え前の1次元配列 2 3 1 ----1----並べ替え後の1次元配列 1 2 3 ----2----froeach文出力セット要素 1 3 4 ----2−−−−froeach文出力セット変換による配列要素 1 3 4 ----4−−−−−foreach出力三次元配列試験 1 2 3 4 5 6 7 8 Process finished with exit code 0