package jpaoletti.jpm.util; import java.util.Iterator; /** * Iterator for the displaced list * * @author jpaoletti * @param <T> */ public class DisplacedIterator<T> implements Iterator<T> { private Integer displacement; private Integer pos = 0; private DisplacedList<T> list; /** * Constructor * * @param list */ public DisplacedIterator(DisplacedList<T> list) { this.list = list; this.displacement = list.getDisplacement(); this.pos = displacement; } /** * * @return */ @Override public boolean hasNext() { return (pos - displacement < list.size()); } /** * * @return */ @Override public T next() { T item = list.get(pos); pos++; return item; } /** * */ @Override public void remove() { } }