for (String msg : messages) {
System.out.println(msg);
}
Скажите, что сообщения - это правильно инициализированный циклически двусвязный список, в котором нет указателя на начало или конец (ссылка). То есть он просто имеет текущий указатель узла. Мой вопрос просто заключается в том, что именно делает цикл for для каждой итерации. При необходимости у меня есть интерфейс, который я могу опубликовать для этого специального типа ADT, сообщения которого:
Вот итератор:
import java.util.*;
public class LinkedCircularSequenceIterator<E> implements Iterator<E> {
private DblListnode<E> curr;
private int itemsLeft;
public LinkedCircularSequenceIterator(DblListnode<E> curr, int numItems) {
this.curr = curr;
this.itemsLeft = numItems;
}
public boolean hasNext() {
return itemsLeft > 1;
}
public E next() {
if(!hasNext()) {
throw new NoSuchElementException();
}
curr = curr.getNext();
itemsLeft--;
return curr.getPrev().getData();
}
public void remove() {
throw new UnsupportedOperationException();
}
}