From 2c6a5df2e1079909dd4f285029924a7ace3592fd Mon Sep 17 00:00:00 2001 From: Praniksha123 Date: Wed, 12 Aug 2026 21:16:03 +0530 Subject: [PATCH] Create coding10.java --- coding10.java | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 coding10.java diff --git a/coding10.java b/coding10.java new file mode 100644 index 0000000..2a1cc86 --- /dev/null +++ b/coding10.java @@ -0,0 +1,32 @@ +// Java Iterator interface reference: +// https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html + +class PeekingIterator implements Iterator { + private Iterator iterator; + private Integer elem; + public PeekingIterator(Iterator iterator) { + // initialize any member here. + this.iterator=iterator; + if(iterator.hasNext()) + elem=iterator.next(); + } + + // Returns the next element in the iteration without advancing the iterator. + public Integer peek() { + return elem; + } + + // hasNext() and next() should behave the same as in the Iterator interface. + // Override them if needed. + @Override + public Integer next() { + Integer ans=elem; + elem=iterator.hasNext()?iterator.next():null; + return ans; + } + + @Override + public boolean hasNext() { + return elem!=null; + } +}