Java的For-each循环
Java For-Each 数组
For-each 循环是 for 循环的另一种形式,用于遍历数组。for-each 循环可以大大减少代码量,并且不需要使用索引或计数器。
语法
For(<DataType of array/List><Temp variable name> : <Array/List to be iterated>){ System.out.println(); //Any other operation can be done with this temp variable. }
让我们以一个字符串数组为例,您想在不使用计数器的情况下对其进行迭代。考虑一个初始化为如下的字符串数组 arrData
String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};
虽然您可能知道诸如查找数组大小并使用传统 for 循环(计数器、条件和增量)迭代数组每个元素的方法,但我们需要找到一种不使用任何此类计数器的更优化的方法。
这是“for”循环的传统方法
for(int i = 0; i< arrData.length; i++){ System.out.println(arrData[i]); }
您可以看到计数器的使用,然后将其用作数组的索引。Java 提供了一种使用“for”循环的方法,该循环将遍历数组中的每个元素。
这是我们之前声明的数组的代码:
for (String strTemp : arrData){ System.out.println(strTemp); }
您可以看到循环之间的区别。代码量已大大减少。此外,循环中也不再使用索引或计数器。请确保,在 foreach 循环中声明的数据类型必须与您正在迭代的arrayList的数据类型相匹配。
For each 循环示例
这里是显示上述解释的整个类:
class UsingForEach { public static void main(String[] args) { String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"}; //The conventional approach of using the for loop System.out.println("Using conventional For Loop:"); for(int i=0; i< arrData.length; i++){ System.out.println(arrData[i]); } System.out.println("\nUsing Foreach loop:"); //The optimized method of using the for loop - also called the foreach loop for (String strTemp : arrData){ System.out.println(strTemp); } } }
预期输出
Using conventional For Loop: Alpha Beta Gamma Delta Sigma Using Foreach loop: Alpha Beta Gamma Delta Sigma