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

334
17 февраля 2017, 02:15

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

Answer 1

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

Answer 2

А что вас не устраивает? Да Iterator это интерфейс, который позволяет "двигаться" только в одном направлении - направление зависит от имплементации/реализации интерфейса в конкретной коллекции - можно сделать собственную реализацию.

Если уж совсем не устраивает пишите свой интерфейс, типа:

public interface DoubleDirectionIterator<E> extends Iterator<E> {
   public boolean hasPrev();
   public E prev();
}
READ ALSO
как наложить водяной знак поверх webview

как наложить водяной знак поверх webview

Ситуация такаяв webview проигрывается видео с ютуба как можно наложить водяной знак поверх этого видео?

342
Переместить точку начала координат Java Swing

Переместить точку начала координат Java Swing

Координаты отсчитываются по дефолту из левого верхнего угла, причём положительное направление оси Y направлено внизПриходится вручную менять,...

387
не удается подключится по hdbc к mysql в android studio

не удается подключится по hdbc к mysql в android studio

Здравствуйте, хелп, своими силами не получается законнектиться к БД по hdbc

368
ConcurrentModificationException [требует правки]

ConcurrentModificationException [требует правки]

Здравствуйте! В данном куске кода появляется исключениепричем, после 1-го вызова метода из return-а

307