Bucle for-each en Java
Java Para cada matriz
For-Each Loop es otra forma de bucle for que se utiliza para atravesar la matriz. El bucle for-each reduce significativamente el código y no se utiliza el índice o más bien el contador en el bucle.
Sintaxis:
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. }
Tomemos como ejemplo una matriz de cadenas que desea iterar sin utilizar ningún contador. Considere una matriz de cadenas arrData inicializada de la siguiente manera:
String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};
Aunque es posible que conozcas métodos como encontrar el tamaño de la matriz y luego iterando a través de cada elemento de la matriz usando el bucle for tradicional (contador, condición e incremento), necesitamos encontrar un enfoque más optimizado que no utilice dicho contador.
Este es el enfoque convencional del bucle "for":
for(int i = 0; i< arrData.length; i++){ System.out.println(arrData[i]); }
Puede ver el uso del contador y luego usarlo como índice de la matriz. Java proporciona una manera de utilizar el bucle "for" que iterará a través de cada elemento de la matriz.
Aquí está el código para la matriz que habíamos declarado anteriormente:
for (String strTemp : arrData){ System.out.println(strTemp); }
Puede ver la diferencia entre los bucles. El código se ha reducido significativamente. Además, no se utiliza el índice o, mejor dicho, el contador en el bucle. Asegúrese de que el tipo de datos declarado en el bucle foreach coincida con el tipo de datos del bucle. lista de arreglo que estás iterando.
Para cada bucle Ejemplo:
Aquí tenemos a toda la clase mostrando la explicación anterior:
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); } } }
Rendimiento esperado:
Using conventional For Loop: Alpha Beta Gamma Delta Sigma Using Foreach loop: Alpha Beta Gamma Delta Sigma