Pętla for-each w Java
Java Dla każdej tablicy
Pętla For-Each jest inną formą pętli for używaną do przeglądania tablicy. pętla for-each znacznie zmniejsza kod i nie ma w niej użycia indeksu ani raczej licznika.
Składnia:
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. }
Weźmy przykład z tablicą String, po której chcesz iterować bez używania żadnych liczników. Rozważmy tablicę String arrData zainicjowaną w następujący sposób:
String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};
Chociaż możesz znać metody takie jak znajdowanie rozmiaru pliku szyk a następnie iterując po każdym elemencie tablicy przy użyciu tradycyjnej pętli for (licznik, warunek i przyrost), musimy znaleźć bardziej zoptymalizowane podejście, które nie będzie używać żadnego takiego licznika.
Oto konwencjonalne podejście do pętli „for”:
for(int i = 0; i< arrData.length; i++){ System.out.println(arrData[i]); }
Możesz zobaczyć użycie licznika, a następnie użyć go jako indeksu tablicy. Java umożliwia użycie pętli „for”, która będzie iterować po każdym elemencie tablicy.
Oto kod tablicy, którą zadeklarowaliśmy wcześniej:
for (String strTemp : arrData){ System.out.println(strTemp); }
Można zobaczyć różnicę między pętlami. Kod został znacznie zredukowany. Ponadto nie ma użycia indeksu, a raczej licznika w pętli. Upewnij się, że typ danych zadeklarowany w pętli foreach musi odpowiadać typowi danych lista tablic że iterujesz.
Dla każdej pętli Przykład:
Oto cała klasa pokazująca powyższe wyjaśnienie-
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); } } }
Oczekiwany wynik:
Using conventional For Loop: Alpha Beta Gamma Delta Sigma Using Foreach loop: Alpha Beta Gamma Delta Sigma