Обратимый итератор - PullRequest
       25

Обратимый итератор

2 голосов
/ 04 апреля 2011

public ReversibleIterator iterator ();

Может кто-нибудь помочь мне сделать этот метод?плохо смирился с тем, что я сделал до сих пор

ReversibleIterator должен вести себя следующим образом.Первый вызов next или previous должен вернуть первый или последний элемент списка соответственно.Последующие вызовы next / previous должны возвращать элемент next / previous относительно предшествующего вызова next / previous.Например, если два вызова к следующему результату в воскресенье и понедельник, то следующий вызов к предыдущему должен вернуться в воскресенье.

public ReversibleIterator<T> iterator() {
    PublicLinkedList<T> list = new PublicLinkedList<T>();
    PublicNode<T> node = list.head;
    while (node.getElement() != null) {
        list.add(node.getElement());
        node = node.getNext();
    }
    ReversibleIterator<T> rIter = new ReversibleIterator<T>(list);
    return rIter;
}

1 Ответ

4 голосов
/ 04 апреля 2011

Java ListIterator - это то, что вам нужно.Большое преимущество: он уже существует.

Вы можете получить его из любого списка в Java, вызвав функцию listIterator () .

...