Class ArrayIterator

  • All Implemented Interfaces:
    java.util.Iterator

    public class ArrayIterator
    extends java.lang.Object
    implements java.util.Iterator
    Implements an Iterator over any array.

    The array can be either an array of object or of primitives. If you know that you have an object array, the ObjectArrayIterator class is a better choice, as it will perform better.

    The iterator implements a #reset method, allowing the reset of the iterator back to the start if required.

    Since:
    Commons Collections 1.0
    Version:
    $Revision$ $Date$
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.Object array
      The array to iterate over
      protected int endIndex
      The end index to loop to
      protected int index
      The current iterator index
    • Constructor Summary

      Constructors 
      Constructor Description
      ArrayIterator​(java.lang.Object array)
      Constructs an ArrayIterator that will iterate over the values in the specified array.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void checkBound​(int bound, java.lang.String type)
      Checks whether the index is valid or not.
      java.lang.Object getArray()
      Gets the array that this iterator is iterating over.
      boolean hasNext()
      Returns true if there are more elements to return from the array.
      java.lang.Object next()
      Returns the next element in the array.
      void remove()
      Throws UnsupportedOperationException.
      • 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

      • array

        protected java.lang.Object array
        The array to iterate over
      • endIndex

        protected int endIndex
        The end index to loop to
      • index

        protected int index
        The current iterator index
    • Constructor Detail

      • ArrayIterator

        public ArrayIterator​(java.lang.Object array)
        Constructs an ArrayIterator that will iterate over the values in the specified array.
        Parameters:
        array - the array to iterate over.
        Throws:
        java.lang.IllegalArgumentException - if array is not an array.
        java.lang.NullPointerException - if array is null
    • Method Detail

      • checkBound

        protected void checkBound​(int bound,
                                  java.lang.String type)
        Checks whether the index is valid or not.
        Parameters:
        bound - the index to check
        type - the index type (for error messages)
        Throws:
        java.lang.IndexOutOfBoundsException - if the index is invalid
      • hasNext

        public boolean hasNext()
        Returns true if there are more elements to return from the array.
        Specified by:
        hasNext in interface java.util.Iterator
        Returns:
        true if there is a next element to return
      • next

        public java.lang.Object next()
        Returns the next element in the array.
        Specified by:
        next in interface java.util.Iterator
        Returns:
        the next element in the array
        Throws:
        java.util.NoSuchElementException - if all the elements in the array have already been returned
      • remove

        public void remove()
        Throws UnsupportedOperationException.
        Specified by:
        remove in interface java.util.Iterator
        Throws:
        java.lang.UnsupportedOperationException - always
      • getArray

        public java.lang.Object getArray()
        Gets the array that this iterator is iterating over.
        Returns:
        the array this iterator iterates over, or null if the no-arg constructor was used and setArray(Object) has never been called with a valid array.