Back to questions
СБЕР
Junior — Middle
115
Чем отличается интерфейс итератора от интерфейса коллекции, которая поддерживает итерацию?
Companies where asked
Answer from AI
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());
}
Итого:
- Коллекция — это структура данных, которая содержит элементы и умеет создавать итератор.
- Итератор — объект, который позволяет последовательно получить доступ к элементам коллекции.