Назад к вопросам
Junior
69
questionbank
Что такое итератор (Iterator)?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Итератор — это объект, который позволяет последовательно перебирать элементы коллекции (списка, массива, множества и т.д.), не раскрывая её внутреннюю структуру.
Он предоставляет методы для:
- Перехода к следующему элементу (
next). - Проверки наличия следующего элемента (
hasNext/__next__и отловStopIterationв Python).
Использование итераторов обеспечивает единый способ доступа к элементам различных типов коллекций.
Пример на Python:
# Коллекция
my_list = [1, 2, 3]
# Получение итератора
my_iterator = iter(my_list)
# Перебор элементов с помощью итератора
print(next(my_iterator)) # Выведет 1
print(next(my_iterator)) # Выведет 2
print(next(my_iterator)) # Выведет 3
# Попытка получить следующий элемент после исчерпания итератора
# next(my_iterator) # Вызовет исключение StopIteration
Пример на Java:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
// Коллекция
List<String> mylist = new ArrayList<>();
mylist.add("A");
mylist.add("B");
mylist.add("C");
// Получение итератора
Iterator<String> myIterator = mylist.iterator();
// Перебор элементов с помощью итератора
while (myIterator.hasNext()) {
System.out.println(myIterator.next()); // Выведет A, B, C по очереди
}