package problems.medium;
import java.util.Iterator;
import java.util.LinkedList;
/**
* Created by sherxon on 1/6/17.
*/
public class PeekingIterator implements Iterator<Integer> {
Iterator<Integer> iterator;
LinkedList<Integer> list;
public PeekingIterator(Iterator<Integer> iterator) {
// initialize any member here.
this.iterator=iterator;
list=new LinkedList<>();
while (iterator.hasNext()){
list.add(iterator.next());
}
}
// Returns the next element in the iteration without advancing the iterator.
public Integer peek() {
return list.getFirst();
}
@Override
public boolean hasNext() {
return list.iterator().hasNext();
}
@Override
public Integer next() {
return list.removeFirst();
}
}