Страницы

Поиск по вопросам

воскресенье, 2 февраля 2020 г.

Iterator и перемещение в одном направлении

#java #коллекции


Верно ли, что в Java Iterator поддерживает перемещение только в одном направлении?
Если да, какие причины легли в именно такое перемещение по коллекциям в Java?
    


Ответы

Ответ 1



Есть Iterator, он однонаправленнный и имеет методы next() и hasNext(), а есть ListIterator, он двунаправленный, в нем есть как next() и hasNext(), так и previous() и hasPrevious(). Какую реализация брать в каком случае - задача программиста. Касательно того, в какой коллекции какой итератор используется в уже реализовннных коллекциях, это вопрос собственно реализации коллекции.

Ответ 2



А что вас не устраивает? Да Iterator это интерфейс, который позволяет "двигаться" только в одном направлении - направление зависит от имплементации/реализации интерфейса в конкретной коллекции - можно сделать собственную реализацию. Если уж совсем не устраивает пишите свой интерфейс, типа: public interface DoubleDirectionIterator extends Iterator { public boolean hasPrev(); public E prev(); }

Комментариев нет:

Отправить комментарий