0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>for относится к низкоуровневым циклам. Он требует задания счетчика, правил его изменения и условия остановки. Было бы значительно удобнее обходить элементы коллекции напрямую, без счетчика. Многие языки программирования решают это введением специального вида цикла. В Java тоже есть такой:<em>for-each</em>.</p>
1
<p>for относится к низкоуровневым циклам. Он требует задания счетчика, правил его изменения и условия остановки. Было бы значительно удобнее обходить элементы коллекции напрямую, без счетчика. Многие языки программирования решают это введением специального вида цикла. В Java тоже есть такой:<em>for-each</em>.</p>
2
<p>С<em>for</em>этот пример выглядит так:</p>
2
<p>С<em>for</em>этот пример выглядит так:</p>
3
<p>Как видно из примера, код, использующий<em>for-each</em>, получается значительно чище, чем с использованием цикла<em>for</em>.<em>for-each</em>знает о том, как перебирать элементы и знает о том, когда они закончатся.</p>
3
<p>Как видно из примера, код, использующий<em>for-each</em>, получается значительно чище, чем с использованием цикла<em>for</em>.<em>for-each</em>знает о том, как перебирать элементы и знает о том, когда они закончатся.</p>
4
<p>Этот цикл отлично подходит для задач агрегации:</p>
4
<p>Этот цикл отлично подходит для задач агрегации:</p>
5
<p>С помощью<em>for-each</em>можно обходить строку посимвольно. В этом поможет метод toCharArray():</p>
5
<p>С помощью<em>for-each</em>можно обходить строку посимвольно. В этом поможет метод toCharArray():</p>
6
<h2>Применимость</h2>
6
<h2>Применимость</h2>
7
<p>В большинстве задач, использующих цикл, предпочтительнее<em>for-each</em>. Иногда его бывает недостаточно, и требуется ручное управление обходом. В таких случаях можно возвращаться к использованию<em>for</em>. Например, когда нужно идти не по каждому элементу массива, а через один:</p>
7
<p>В большинстве задач, использующих цикл, предпочтительнее<em>for-each</em>. Иногда его бывает недостаточно, и требуется ручное управление обходом. В таких случаях можно возвращаться к использованию<em>for</em>. Например, когда нужно идти не по каждому элементу массива, а через один:</p>
8
<p>Иногда нужно обходить массив в обратном порядке.<em>for-each</em>здесь бессилен и снова нужен<em>for</em>:</p>
8
<p>Иногда нужно обходить массив в обратном порядке.<em>for-each</em>здесь бессилен и снова нужен<em>for</em>:</p>
9
<p>Другие задачи вообще с массивами напрямую не связаны. К последним относятся ситуации, когда нужно перебирать числа в определенном диапазоне. В этом случае нет массива, по которому можно было бы пройтись с помощью<em>for-each</em>.</p>
9
<p>Другие задачи вообще с массивами напрямую не связаны. К последним относятся ситуации, когда нужно перебирать числа в определенном диапазоне. В этом случае нет массива, по которому можно было бы пройтись с помощью<em>for-each</em>.</p>
10
<p>Ну и наконец, встречаются задачи, в которых нужно во время обхода менять исходный массив:</p>
10
<p>Ну и наконец, встречаются задачи, в которых нужно во время обхода менять исходный массив:</p>
11
11