Преимущества использования цикла foreach в Java перед обычными циклами for заключаются в следующем:
- Итерация по группе значений с минимальным количеством кода. 1 Цикл foreach позволяет перебирать элементы без необходимости отслеживать их количество или следить за ходом итерации. 1
- Компактная форма, которая считается более читаемой, чем у цикла for. 2 Правилом хорошего тона считается использовать именно foreach там, где это можно сделать. 2
- В некоторых случаях преимущество в производительности перед обычным циклом for, так как он вычисляет предел индекса массива только один раз. 4
Однако у цикла foreach есть и ограничения: он не подходит, если нужно пройти по циклу с конца в начало, внести изменения в массив или вернуть (или передать дальше) индекс искомого элемента. 2