Class AbstractLinkedList.LinkedListIterator<E>
- java.lang.Object
-
- org.apache.commons.collections4.list.AbstractLinkedList.LinkedListIterator<E>
-
- All Implemented Interfaces:
Iterator<E>,ListIterator<E>,OrderedIterator<E>
- Direct Known Subclasses:
AbstractLinkedList.LinkedSubListIterator,CursorableLinkedList.Cursor
- Enclosing class:
- AbstractLinkedList<E>
protected static class AbstractLinkedList.LinkedListIterator<E> extends Object implements ListIterator<E>, OrderedIterator<E>
A list iterator over the linked list.
-
-
Field Summary
Fields Modifier and Type Field Description protected AbstractLinkedList.Node<E>currentThe last node that was returned bynext()orprevious().protected intexpectedModCountThe modification count that the list is expected to have.protected AbstractLinkedList.Node<E>nextThe node that will be returned bynext().protected intnextIndexThe index ofnext.protected AbstractLinkedList<E>parentThe parent list
-
Constructor Summary
Constructors Modifier Constructor Description protectedLinkedListIterator(AbstractLinkedList<E> parent, int fromIndex)Create a ListIterator for a list.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(E obj)protected voidcheckModCount()Checks the modification count of the list is the value that this object expects.protected AbstractLinkedList.Node<E>getLastNodeReturned()Gets the last node returned.booleanhasNext()booleanhasPrevious()Checks to see if there is a previous element that can be iterated to.Enext()intnextIndex()Eprevious()Gets the previous element from the container.intpreviousIndex()voidremove()voidset(E obj)-
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
-
parent
protected final AbstractLinkedList<E> parent
The parent list
-
next
protected AbstractLinkedList.Node<E> next
The node that will be returned bynext(). If this is equal toAbstractLinkedList.headerthen there are no more values to return.
-
nextIndex
protected int nextIndex
The index ofnext.
-
current
protected AbstractLinkedList.Node<E> current
The last node that was returned bynext()orprevious(). Set tonullifnext()orprevious()haven't been called, or if the node has been removed withremove()or a new node added withadd(Object). Should be accessed throughgetLastNodeReturned()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 aConcurrentModificationExceptionmay be thrown by the operations.
-
-
Constructor Detail
-
LinkedListIterator
protected LinkedListIterator(AbstractLinkedList<E> parent, int fromIndex) throws IndexOutOfBoundsException
Create a ListIterator for a list.- Parameters:
parent- the parent listfromIndex- the index to start at- Throws:
IndexOutOfBoundsException- if fromIndex is less than 0 or greater than the size of the list
-
-
Method Detail
-
checkModCount
protected void checkModCount()
Checks the modification count of the list is the value that this object expects.- Throws:
ConcurrentModificationException- If the list's modification count isn't the value that was expected.
-
getLastNodeReturned
protected AbstractLinkedList.Node<E> getLastNodeReturned() throws IllegalStateException
Gets the last node returned.- Returns:
- the last node returned
- Throws:
IllegalStateException- Ifnext()orprevious()haven't been called, or if the node has been removed withremove()or a new node added withadd(Object).
-
hasNext
public boolean hasNext()
-
next
public E next()
-
hasPrevious
public boolean hasPrevious()
Description copied from interface:OrderedIteratorChecks to see if there is a previous element that can be iterated to.- Specified by:
hasPreviousin interfaceListIterator<E>- Specified by:
hasPreviousin interfaceOrderedIterator<E>- Returns:
trueif the iterator has a previous element
-
previous
public E previous()
Description copied from interface:OrderedIteratorGets the previous element from the container.- Specified by:
previousin interfaceListIterator<E>- Specified by:
previousin interfaceOrderedIterator<E>- Returns:
- the previous element in the iteration
-
nextIndex
public int nextIndex()
- Specified by:
nextIndexin interfaceListIterator<E>
-
previousIndex
public int previousIndex()
- Specified by:
previousIndexin interfaceListIterator<E>
-
remove
public void remove()
-
set
public void set(E obj)
- Specified by:
setin interfaceListIterator<E>
-
add
public void add(E obj)
- Specified by:
addin interfaceListIterator<E>
-
-