В Java управление итератором происходит за счет объекта-итератора, который создается для коллекции с помощью метода iterator()
. Итератором управляет сам программист, и он отвечает за вызов методов итератора для обхода элементов коллекции. Основные методы, которыми управляют итератором, следующие:
hasNext()
— проверяет, есть ли еще элементы для итерации. Возвращаетtrue
, если есть еще элементы, иначе —false
.next()
— возвращает следующий элемент коллекции и перемещает указатель итератора на него.remove()
— удаляет последний возвращенный элемент. Этот метод нужно использовать осторожно, поскольку он может привести к исключениям, если коллекция не поддерживает удаление или еслиnext()
еще не был вызван.
Таким образом, сам программист управляет итерацией: он вызывает эти методы в нужном порядке, чтобы перебрать элементы коллекции.