Назад к вопросам
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 по очереди
}