Что такое итератор

«Что такое итератор» — вопрос из категории Алгоритмы и структуры данных, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Итератор — это объект, который позволяет последовательно обходить элементы коллекции без раскрытия её внутренней структуры. В Kotlin он реализуется через интерфейс Iterator с методами:

  • hasNext(): проверяет наличие следующего элемента
  • next(): возвращает следующий элемент

Пример:

val list = listOf("A", "B", "C")
val iterator = list.iterator()

while (iterator.hasNext()) {
    println(iterator.next()) // A, B, C
}

Особенности:

  • Поддерживается для всех стандартных коллекций (List, Set, Map)
  • Позволяет удалять элементы во время итерации через remove() (только для mutable коллекций)
  • В Kotlin чаще используют синтаксис for-in, который неявно использует итератор