Цикл For-Each — это еще одна форма цикла, используемая для обхода массива. цикл 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. }
Давайте рассмотрим пример с использованием массива String, который вы хотите перебрать без использования счетчиков.
Рассмотрим строковый массив 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, должен соответствовать типу данных массива / списка, который вы перебираете .
Здесь у нас есть весь класс, показывающий приведенное выше объяснение
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