Java: Массивы
Теория: Цикл for-each
for относится к низкоуровневым циклам. Он требует задания счетчика, правил его изменения и условия остановки. Было бы значительно удобнее обходить элементы коллекции напрямую, без счетчика. Многие языки программирования решают это введением специального вида цикла. В Java тоже есть такой: for-each.
С for этот пример выглядит так:
Как видно из примера, код, использующий for-each, получается значительно чище, чем с использованием цикла for. for-each знает о том, как перебирать элементы и знает о том, когда они закончатся.
Этот цикл отлично подходит для задач агрегации:
С помощью for-each можно обходить строку посимвольно. В этом поможет метод toCharArray():
Применимость
В большинстве задач, использующих цикл, предпочтительнее for-each . Иногда его бывает недостаточно, и требуется ручное управление обходом. В таких случаях можно возвращаться к использованию for. Например, когда нужно идти не по каждому элементу массива, а через один:
Иногда нужно обходить массив в обратном порядке. for-each здесь бессилен и снова нужен for:
Другие задачи вообще с массивами напрямую не связаны. К последним относятся ситуации, когда нужно перебирать числа в определенном диапазоне. В этом случае нет массива, по которому можно было бы пройтись с помощью for-each.
Ну и наконец, встречаются задачи, в которых нужно во время обхода менять исходный массив:
Рекомендуемые программы
Завершено
0 / 16


