Class Iterators.PeekingImpl<A>

  • All Implemented Interfaces:
    Iterators.Peek<A>, Iterators.Peeking<A>, java.util.Iterator<A>
    Enclosing class:
    Iterators

    private static class Iterators.PeekingImpl<A>
    extends java.lang.Object
    implements Iterators.Peeking<A>
    Implementation of Iterators.Peeking that avoids peeking unless necessary.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private boolean hasPeeked  
      private java.util.Iterator<? extends A> iterator  
      private A peekedElement  
    • Constructor Summary

      Constructors 
      Constructor Description
      PeekingImpl​(java.util.Iterator<? extends A> iterator)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean hasNext()  
      A next()  
      A peek()
      Look at but do not modify the "next" thing.
      void remove()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Iterator

        forEachRemaining
    • Field Detail

      • iterator

        private final java.util.Iterator<? extends A> iterator
      • hasPeeked

        private boolean hasPeeked
      • peekedElement

        private A peekedElement
    • Constructor Detail

      • PeekingImpl

        public PeekingImpl​(java.util.Iterator<? extends A> iterator)
    • Method Detail

      • hasNext

        public boolean hasNext()
        Specified by:
        hasNext in interface java.util.Iterator<A>
      • next

        public A next()
        Specified by:
        next in interface java.util.Iterator<A>
      • remove

        public void remove()
        Specified by:
        remove in interface java.util.Iterator<A>
      • peek

        public A peek()
        Description copied from interface: Iterators.Peek
        Look at but do not modify the "next" thing.
        Specified by:
        peek in interface Iterators.Peek<A>