Junior — Middle
160
Worin besteht der Unterschied zwischen der Schnittstelle des Iterators und der Schnittstelle der Sammlung, die die Iteration unterstützt?
Unternehmen wurden gefragt
Antwort von AI
sobes.tech KI
Интерфейс итератора (например, 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());
}
Итого:
- Коллекция — это структура данных, которая содержит элементы и умеет создавать итератор.
- Итератор — объект, который позволяет последовательно получить доступ к элементам коллекции.