Когда реализация итератора лучше, чем предлагать индексацию?Когда это лучше, почему?
Я предполагаю, что я являюсь разработчиком класса, который может предложить любой, и выбор должен быть сделан.
Поскольку большинство коллекций являются итеративными, но немногие коллекции индексируются (например, хеш-таблицы).
Использование итераторов позволяет создавать код, который не заботится о типе каждой коллекции.
Инкапсуляция: при использовании итератора вам не нужно знать, каковы действительные индексы.