Sobes.tech
Junior — Middle
153

¿En qué se diferencia la interfaz del iterador de la interfaz de la colección que soporta la iteración?

Empresas donde se preguntó
СБЕРСБЕР

Respuesta de la IA

sobes.tech AI

Интерфейс итератора (например, Iterator в Java) предоставляет методы для последовательного обхода элементов коллекции: hasNext(), next(), и опционально remove(). Он отвечает только за сам процесс итерации — как получить следующий элемент и проверить, есть ли еще элементы.

Интерфейс коллекции, поддерживающей итерацию (например, Iterable), предоставляет метод iterator(), который возвращает объект итератора. Таким образом, коллекция — это контейнер, который хранит элементы и умеет создавать итератор для обхода этих элементов.

Пример:

Iterable<String> collection = List.of("a", "b", "c");
Iterator<String> iterator = collection.iterator();
while (iterator.hasNext()) {
    System.out.println(iterator.next());
}

Итого:

  • Коллекция — это структура данных, которая содержит элементы и умеет создавать итератор.
  • Итератор — объект, который позволяет последовательно получить доступ к элементам коллекции.