#java #коллекции
Верно ли, что в Java Iterator поддерживает перемещение только в одном направлении? Если да, какие причины легли в именно такое перемещение по коллекциям в Java?
Ответы
Ответ 1
Есть Iterator, он однонаправленнный и имеет методы next() и hasNext(), а есть ListIterator, он двунаправленный, в нем есть как next() и hasNext(), так и previous() и hasPrevious(). Какую реализация брать в каком случае - задача программиста. Касательно того, в какой коллекции какой итератор используется в уже реализовннных коллекциях, это вопрос собственно реализации коллекции.Ответ 2
А что вас не устраивает? Да Iterator это интерфейс, который позволяет "двигаться" только в одном направлении - направление зависит от имплементации/реализации интерфейса в конкретной коллекции - можно сделать собственную реализацию. Если уж совсем не устраивает пишите свой интерфейс, типа: public interface DoubleDirectionIteratorextends Iterator { public boolean hasPrev(); public E prev(); }
Комментариев нет:
Отправить комментарий