Иногда возникает необходимость пройтись по всем элементам коллекции. Для этого в Java есть специальная конструкция — цикл ‘for each’. Он представляет собой упрощенный вариант цикла ‘for’, предназначенный для итерации по элементам коллекции или массива.
Допустим, есть список строк:
List<String> stringList = new ArrayList<String>(); stringList.add("apple"); stringList.add("banana"); stringList.add("cherry");
Для вывода всех элементов этого списка на экран с помощью цикла ‘for each’ можно использовать следующий код:
for (String s : stringList) { System.out.println(s); }
В этом коде s
— это переменная, которая на каждой итерации цикла принимает значение очередного элемента списка. Цикл ‘for each’ автоматически проходит по всем элементам списка, начиная с первого и заканчивая последним.
Теперь рассмотрим, как можно было бы реализовать то же самое без использования цикла ‘for each’. Для этого придется использовать обычный цикл ‘for’ и итератор:
for (Iterator<String> iterator = stringList.iterator(); iterator.hasNext();) { String s = iterator.next(); System.out.println(s); }
В этом коде создается итератор для списка stringList
. Итератор — это специальный объект, который позволяет последовательно проходить по элементам коллекции. Метод hasNext()
итератора возвращает true
, если в коллекции есть еще элементы, и false
, если элементы закончились. Метод next()
возвращает следующий элемент коллекции.
Таким образом, цикл ‘for each’ является более удобной и краткой альтернативой обычного цикла ‘for’ с итератором при работе с коллекциями и массивами.
Добавить комментарий