Class LoopingIterator

  • All Implemented Interfaces:
    java.util.Iterator, ResettableIterator

    @Deprecated(since="2021-04-30")
    public class LoopingIterator
    extends java.lang.Object
    implements ResettableIterator
    Deprecated.
    Commons Collections 3 is in maintenance mode. Commons Collections 4 should be used instead.
    An Iterator that restarts when it reaches the end.

    The iterator will loop continuously around the provided elements, unless there are no elements in the collection to begin with, or all the elements have been removed.

    Concurrent modifications are not directly supported, and for most collection implementations will throw a ConcurrentModificationException.

    Since:
    Commons Collections 3.0
    • Constructor Summary

      Constructors 
      Constructor Description
      LoopingIterator​(java.util.Collection coll)
      Deprecated.
      Constructor that wraps a collection.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      boolean hasNext()
      Deprecated.
      Has the iterator any more elements.
      java.lang.Object next()
      Deprecated.
      Returns the next object in the collection.
      void remove()
      Deprecated.
      Removes the previously retrieved item from the underlying collection.
      void reset()
      Deprecated.
      Resets the iterator back to the start of the collection.
      int size()
      Deprecated.
      Gets the size of the collection underlying the iterator.
      • Methods inherited from class java.lang.Object

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

        forEachRemaining
    • Constructor Detail

      • LoopingIterator

        public LoopingIterator​(java.util.Collection coll)
        Deprecated.
        Constructor that wraps a collection.

        There is no way to reset an Iterator instance without recreating it from the original source, so the Collection must be passed in.

        Parameters:
        coll - the collection to wrap
        Throws:
        java.lang.NullPointerException - if the collection is null
    • Method Detail

      • hasNext

        public boolean hasNext()
        Deprecated.
        Has the iterator any more elements.

        Returns false only if the collection originally had zero elements, or all the elements have been removed.

        Specified by:
        hasNext in interface java.util.Iterator
        Returns:
        true if there are more elements
      • next

        public java.lang.Object next()
        Deprecated.
        Returns the next object in the collection.

        If at the end of the collection, return the first element.

        Specified by:
        next in interface java.util.Iterator
        Throws:
        java.util.NoSuchElementException - if there are no elements at all. Use hasNext() to avoid this error.
      • remove

        public void remove()
        Deprecated.
        Removes the previously retrieved item from the underlying collection.

        This feature is only supported if the underlying collection's iterator method returns an implementation that supports it.

        This method can only be called after at least one next() method call. After a removal, the remove method may not be called again until another next has been performed. If the reset() is called, then remove may not be called until next() is called again.

        Specified by:
        remove in interface java.util.Iterator
      • reset

        public void reset()
        Deprecated.
        Resets the iterator back to the start of the collection.
        Specified by:
        reset in interface ResettableIterator
      • size

        public int size()
        Deprecated.
        Gets the size of the collection underlying the iterator.
        Returns:
        the current collection size