Class ArrayListIterator<E>

    • Constructor Summary

      Constructors 
      Constructor Description
      ArrayListIterator​(java.lang.Object array)
      Constructs an ArrayListIterator that will iterate over the values in the specified array.
      ArrayListIterator​(java.lang.Object array, int startIndex)
      Constructs an ArrayListIterator that will iterate over the values in the specified array from a specific start index.
      ArrayListIterator​(java.lang.Object array, int startIndex, int endIndex)
      Construct an ArrayListIterator that will iterate over a range of values in the specified array.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(java.lang.Object o)
      This iterator does not support modification of its backing collection, and so will always throw an UnsupportedOperationException when this method is invoked.
      boolean hasPrevious()
      Returns true if there are previous elements to return from the array.
      E next()
      Gets the next element from the array.
      int nextIndex()
      Gets the next index to be retrieved.
      E previous()
      Gets the previous element from the array.
      int previousIndex()
      Gets the index of the item to be retrieved if previous() is called.
      void reset()
      Resets the iterator back to the start index.
      void set​(java.lang.Object o)
      Sets the element under the cursor.
      • Methods inherited from class java.lang.Object

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

        forEachRemaining
      • Methods inherited from interface java.util.ListIterator

        hasNext, remove
    • Constructor Detail

      • ArrayListIterator

        public ArrayListIterator​(java.lang.Object array)
        Constructs an ArrayListIterator 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
      • ArrayListIterator

        public ArrayListIterator​(java.lang.Object array,
                                 int startIndex)
        Constructs an ArrayListIterator that will iterate over the values in the specified array from a specific start index.
        Parameters:
        array - the array to iterate over
        startIndex - the index to start iterating at
        Throws:
        java.lang.IllegalArgumentException - if array is not an array.
        java.lang.NullPointerException - if array is null
        java.lang.IndexOutOfBoundsException - if the start index is out of bounds
      • ArrayListIterator

        public ArrayListIterator​(java.lang.Object array,
                                 int startIndex,
                                 int endIndex)
        Construct an ArrayListIterator that will iterate over a range of values in the specified array.
        Parameters:
        array - the array to iterate over
        startIndex - the index to start iterating at
        endIndex - the index (exclusive) to finish iterating at
        Throws:
        java.lang.IllegalArgumentException - if array is not an array.
        java.lang.IndexOutOfBoundsException - if the start or end index is out of bounds
        java.lang.IllegalArgumentException - if end index is before the start
        java.lang.NullPointerException - if array is null
    • Method Detail

      • hasPrevious

        public boolean hasPrevious()
        Returns true if there are previous elements to return from the array.
        Specified by:
        hasPrevious in interface java.util.ListIterator<E>
        Specified by:
        hasPrevious in interface OrderedIterator<E>
        Returns:
        true if there is a previous element to return
      • previous

        public E previous()
        Gets the previous element from the array.
        Specified by:
        previous in interface java.util.ListIterator<E>
        Specified by:
        previous in interface OrderedIterator<E>
        Returns:
        the previous element
        Throws:
        java.util.NoSuchElementException - if there is no previous element
      • next

        public E next()
        Gets the next element from the array.
        Specified by:
        next in interface java.util.Iterator<E>
        Specified by:
        next in interface java.util.ListIterator<E>
        Overrides:
        next in class ArrayIterator<E>
        Returns:
        the next element
        Throws:
        java.util.NoSuchElementException - if there is no next element
      • nextIndex

        public int nextIndex()
        Gets the next index to be retrieved.
        Specified by:
        nextIndex in interface java.util.ListIterator<E>
        Returns:
        the index of the item to be retrieved next
      • previousIndex

        public int previousIndex()
        Gets the index of the item to be retrieved if previous() is called.
        Specified by:
        previousIndex in interface java.util.ListIterator<E>
        Returns:
        the index of the item to be retrieved next
      • add

        public void add​(java.lang.Object o)
        This iterator does not support modification of its backing collection, and so will always throw an UnsupportedOperationException when this method is invoked.
        Specified by:
        add in interface java.util.ListIterator<E>
        Parameters:
        o - the element to add
        Throws:
        java.lang.UnsupportedOperationException - always thrown.
        See Also:
        ListIterator.set(E)
      • set

        public void set​(java.lang.Object o)
        Sets the element under the cursor.

        This method sets the element that was returned by the last call to next() of previous().

        Note: ListIterator implementations that support add() and remove() only allow set() to be called once per call to next() or previous (see the ListIterator javadoc for more details). Since this implementation does not support add() or remove(), set() may be called as often as desired.

        Specified by:
        set in interface java.util.ListIterator<E>
        Parameters:
        o - the element to set
        Throws:
        java.lang.IllegalStateException - if next() or previous() has not been called before set(Object)
        See Also:
        ListIterator.set(E)