package oving7; import java.util.Iterator; import java.util.NoSuchElementException; public abstract class IndexIterator implements Iterator{ protected T lastElementReturned; protected int index; private int endIndex; private int step; protected IndexIterator(int index, int endIndex, int step){ this.index = index; this.endIndex = endIndex; this.step = step; } public int getStep(){ return step; } protected abstract int getSize(); protected abstract T getElement(int index); public boolean hasNext(){ if(index < endIndex) return true; return false; } public final T next(){ index += step; if(hasNext()) return getElement(index); else throw new NoSuchElementException(); } }