for each
for each 语句是 JDK5 的新特征,主要用于遍历数组
、集合
。
java
// collection 可以是数组/实现了 Iterable 接口的集合类
for(dataType variable : collection){
// 使用 item 进行操作
}
java
// 遍历二维数组
// 初始化一个二维数组
int[][] array = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
// row 和 element 都不是关键字,而是自己起的变量名
// array 是一个二维数组,每一项都是一个一维数组(即int[])。
// 每次迭代中,row 变量会依次引用 array 中的每一个一维数组(行)。
for (int[] row : array) { // 外层循环遍历数组的每一行
// 每次迭代中,element 变量会依次引用 row 数组中的每一个整数值。
for (int element : row) { // 内层循环遍历当前行的每个元素
System.out.print(element + " "); // 打印当前元素
}
java
// 遍历三维数组
for (int[][] matrix : array3D) {
for (int[] row : matrix) {
for (int element : row) {
System.out.print(element + " ");
}
- for-each 不需要事先知道元素个数,有时候能方便代码编写
java
// 求 数组中的最大元素,如果采用普通 for,代码显然更复杂一些
public static int searchMax ( int[] arr){
int max = arr[0];
for (int num : arr) {
if (num > max) {
max = num;
return max;
}
}