## org.apache.commons.collections.list
Class AbstractLinkedList.LinkedListIterator

    java.lang.Object
      org.apache.commons.collections.list.AbstractLinkedList.LinkedListIterator

All Implemented Interfaces:
  java.util.Iterator, java.util.ListIterator, OrderedIterator

Direct Known Subclasses:
  AbstractLinkedList.LinkedSubListIterator, CursorableLinkedList.Cursor

Enclosing class:
  AbstractLinkedList

    protected static class AbstractLinkedList.LinkedListIterator

extends java.lang.Object
implements java.util.ListIterator, OrderedIterator

A list iterator over the linked list.

Field Summary
`protected AbstractLinkedList.Node` `current` The last node that was returned by `next()` or `previous()`.
`protected int` `expectedModCount` The modification count that the list is expected to have.
`protected AbstractLinkedList.Node` `next` The node that will be returned by `next()`.
`protected int` `nextIndex` The index of `next`.
`protected AbstractLinkedList` `parent` The parent list

Constructor Summary
`protected` `AbstractLinkedList.LinkedListIterator(AbstractLinkedList parent, int fromIndex)` Create a ListIterator for a list.

Method Summary
`void` `add(java.lang.Object obj)`
`protected void` `checkModCount()` Checks the modification count of the list is the value that this object expects.
`protected AbstractLinkedList.Node` `getLastNodeReturned()` Gets the last node returned.
`boolean` `hasNext()`
`boolean` `hasPrevious()` Checks to see if there is a previous element that can be iterated to.
`java.lang.Object` `next()`
`int` `nextIndex()`
`java.lang.Object` `previous()` Gets the previous element from the collection.
`int` `previousIndex()`
`void` `remove()`
`void` `set(java.lang.Object obj)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### parent

    protected final AbstractLinkedList parent

  The parent list

### next

    protected AbstractLinkedList.Node next

  The node that will be returned by `next()`. If this is equal to `AbstractLinkedList.header` then there are no more values to return.

### nextIndex

    protected int nextIndex

  The index of `next`.

### current

    protected AbstractLinkedList.Node current

  The last node that was returned by `next()` or `previous()`. Set to `null` if `next()` or `previous()` haven't been called, or if the node has been removed with `remove()` or a new node added with `add(Object)`. Should be accessed through `getLastNodeReturned()` to enforce this behaviour.

### expectedModCount

    protected int expectedModCount

  The modification count that the list is expected to have. If the list doesn't have this count, then a `ConcurrentModificationException` may be thrown by the operations.

Constructor Detail

### AbstractLinkedList.LinkedListIterator

    protected AbstractLinkedList.LinkedListIterator(AbstractLinkedList parent,
                                                    int fromIndex)
                                             throws java.lang.IndexOutOfBoundsException

  Create a ListIterator for a list.

  Parameters:
    `parent` - the parent list
    `fromIndex` - the index to start at
  Throws:
    `java.lang.IndexOutOfBoundsException`

Method Detail

### checkModCount

    protected void checkModCount()

  Checks the modification count of the list is the value that this object expects.

  Throws:
    `java.util.ConcurrentModificationException` - If the list's modification count isn't the value that was expected.

### getLastNodeReturned

    protected AbstractLinkedList.Node getLastNodeReturned()
                                                   throws java.lang.IllegalStateException

  Gets the last node returned.

  Throws:
    `java.lang.IllegalStateException` - If `next()` or `previous()` haven't been called, or if the node has been removed with `remove()` or a new node added with `add(Object)`.

### hasNext

    public boolean hasNext()

  Specified by:
    `hasNext` in interface `java.util.Iterator`
  Specified by:
    `hasNext` in interface `java.util.ListIterator`

### next

    public java.lang.Object next()

  Specified by:
    `next` in interface `java.util.Iterator`
  Specified by:
    `next` in interface `java.util.ListIterator`

### hasPrevious

    public boolean hasPrevious()

  Description copied from interface: `OrderedIterator`
  Checks to see if there is a previous element that can be iterated to.

  Specified by:
    `hasPrevious` in interface `java.util.ListIterator`
  Specified by:
    `hasPrevious` in interface `OrderedIterator`
  Returns:
    `true` if the iterator has a previous element

### previous

    public java.lang.Object previous()

  Description copied from interface: `OrderedIterator`
  Gets the previous element from the collection.

  Specified by:
    `previous` in interface `java.util.ListIterator`
  Specified by:
    `previous` in interface `OrderedIterator`
  Returns:
    the previous element in the iteration

### nextIndex

    public int nextIndex()

  Specified by:
    `nextIndex` in interface `java.util.ListIterator`

### previousIndex

    public int previousIndex()

  Specified by:
    `previousIndex` in interface `java.util.ListIterator`

### remove

    public void remove()

  Specified by:
    `remove` in interface `java.util.Iterator`
  Specified by:
    `remove` in interface `java.util.ListIterator`

### set

    public void set(java.lang.Object obj)

  Specified by:
    `set` in interface `java.util.ListIterator`

### add

    public void add(java.lang.Object obj)

  Specified by:
    `add` in interface `java.util.ListIterator`

Copyright © 2001-2008 The Apache Software Foundation. All Rights Reserved.