
Untitled
By: a guest on
Apr 29th, 2012 | syntax:
Java | size: 0.73 KB | hits: 40 | expires: Never
class PushBackIterator<E extends Comparable<E>> implements Iterator<E> {
private Iterator<E> it;
private E stackedElement;
PushBackIterator(Iterator<E> i) {
it = i;
}
public void remove() {
it.remove();
}
public boolean hasNext() {
return stackedElement instanceof Comparable || it.hasNext();
}
public E next() {
if(stackedElement instanceof Comparable) {
E tmp = stackedElement;
stackedElement = null;
return tmp;
}
return it.next();
}
/**
* Pushes back an element to the iterator
* @param e
*/
public void pushBack(E e) {
stackedElement = e;
}
}