Цикл for-each в Java менее универсален, чем обычный for, по нескольким причинам:
- Невозможность пройти по циклу с конца в начало. javarush.com Прямого аналога для этого у for-each нет. javarush.com
- Невозможность внести изменения в массив. javarush.com Например, не получится организовать сортировку массива, не меняя его элементы местами. javarush.com
- Невозможность вернуть или передать дальше индекс искомого элемента. javarush.com Если нужно искать элемент в массиве и вернуть его индекс, лучше воспользоваться обычным циклом for. javarush.com
При этом в большинстве задач, использующих цикл, предпочтительнее for-each. ru.hexlet.io Он знает о том, как перебирать элементы и когда они закончатся. ru.hexlet.io