Я только что узнал о том, как Java Collections Framework реализует структуры данных в связанных списках. Насколько я понимаю, Iterators
- это путь прохождения элементов в структуре данных, такой как список. Почему этот интерфейс используется? Почему методы hasNext()
, next()
и remove()
не имеют прямого кодирования для самой реализации структуры данных?
На веб-сайте Java: текст ссылки
открытый интерфейс Iterator <E>
итератор над коллекцией. Итератор заменяет Перечисление в Рамка коллекций Java. итераторы отличаются от перечислений двумя способами:
Этот интерфейс член сборников Java Framework.
- Итераторы позволяют вызывающему пользователю удалять элементы из основного коллекции во время итерации с четко определенная семантика.
- Имена методов были улучшены.
Я пробовал погулять и не мог найти определенного ответа. Может кто-то пролить свет на то, почему Sun решила их использовать? Это из-за лучшего дизайна? Повышенная безопасность? Хорошая практика OO?
Любая помощь будет принята с благодарностью. Спасибо.