❓ Как между собой связаны Iterable, Iterator и цикл for-each?
— Iterable<T> — это интерфейс, который должен реализовать класс, если он хочет поддерживать итерацию с помощью for-each. Он содержит один метод Iterator<T> iterator(). Этот метод возвращает Iterator, который и управляет обходом элементов.
— Iterator<T> — это интерфейс, который используется для последовательного перебора элементов. Он определяет методы:
boolean hasNext() — проверяет, есть ли следующий элемент
T next() — возвращает следующий элемент
void remove() — удаляет текущий элемент (необязательный)
— Цикл for-each (enhanced for loop) — это синтаксический сахар, который автоматически использует Iterator внутри себя.
Post #760
2.29K
- 👍 13
- 🔥 3
- 🥰 3