Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Java Iterator interface reference:
- // https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html
- class PeekingIterator implements Iterator<Integer> {
- Iterator<Integer> itor;
- Integer next = null;
- boolean f = true;
- public PeekingIterator(Iterator<Integer> iterator) {
- // initialize any member here.
- itor = iterator;
- update();
- }
- void update()
- {
- if(!itor.hasNext())
- {
- f = false;
- return;
- }
- next = itor.next();
- }
- // Returns the next element in the iteration without advancing the iterator.
- public Integer peek() {
- return next;
- }
- // hasNext() and next() should behave the same as in the Iterator interface.
- // Override them if needed.
- @Override
- public Integer next() {
- int val = next;
- update();
- return val;
- }
- @Override
- public boolean hasNext() {
- return f;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement