Class MultiIterator<T>

  • All Implemented Interfaces:
    java.util.Iterator<T>

    public class MultiIterator<T>
    extends java.lang.Object
    implements java.util.Iterator<T>
    Iterator that operates over multiple collections.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected int collcnt
      The counter for the collection.
      protected java.util.Iterator<T> curit
      The current iterator.
      protected java.util.List<java.util.Iterator<T>> its
      The data collections.
    • Constructor Summary

      Constructors 
      Constructor Description
      MultiIterator()
      Create a new MultiCollectionIterator.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addIterator​(java.util.Iterator<T> it)
      Add a collection.
      protected java.util.Iterator<T> getCurrentIterator()
      Get the current iterator.
      boolean hasNext()
      Returns true if the iteration has more elements.
      T next()
      Returns the next element in the iteration.
      void remove()
      Removes from the underlying collection the last element returned by this iterator (optional operation).
      • 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

      • its

        protected java.util.List<java.util.Iterator<T>> its
        The data collections.
      • collcnt

        protected int collcnt
        The counter for the collection.
      • curit

        protected java.util.Iterator<T> curit
        The current iterator.
    • Constructor Detail

      • MultiIterator

        public MultiIterator()
        Create a new MultiCollectionIterator.
    • Method Detail

      • addIterator

        public void addIterator​(java.util.Iterator<T> it)
        Add a collection.
        Parameters:
        coll - The collection.
      • hasNext

        public boolean hasNext()
        Returns true if the iteration has more elements. (In other words, returns true if next() would return an element rather than throwing an exception.)
        Specified by:
        hasNext in interface java.util.Iterator<T>
        Returns:
        true if the iteration has more elements
      • next

        public T next()
        Returns the next element in the iteration.
        Specified by:
        next in interface java.util.Iterator<T>
        Returns:
        the next element in the iteration
        Throws:
        java.util.NoSuchElementException - if the iteration has no more elements
      • remove

        public void remove()
        Removes from the underlying collection the last element returned by this iterator (optional operation). This method can be called only once per call to next(). The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.
        Specified by:
        remove in interface java.util.Iterator<T>
        Throws:
        java.lang.UnsupportedOperationException - if the remove operation is not supported by this iterator
        java.lang.IllegalStateException - if the next method has not yet been called, or the remove method has already been called after the last call to the next method
      • getCurrentIterator

        protected java.util.Iterator<T> getCurrentIterator()
        Get the current iterator.