Class AbstractLinkedList.LinkedListIterator<E>
- java.lang.Object
-
- org.apache.commons.collections4.list.AbstractLinkedList.LinkedListIterator<E>
-
- All Implemented Interfaces:
java.util.Iterator<E>,java.util.ListIterator<E>,OrderedIterator<E>
- Direct Known Subclasses:
AbstractLinkedList.LinkedSubListIterator,CursorableLinkedList.Cursor
- Enclosing class:
- AbstractLinkedList<E>
protected static class AbstractLinkedList.LinkedListIterator<E> extends java.lang.Object implements java.util.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)
-
-
-
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 java.lang.IndexOutOfBoundsException
Create a ListIterator for a list.- Parameters:
parent- the parent listfromIndex- the index to start at- Throws:
java.lang.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:
java.util.ConcurrentModificationException- If the list's modification count isn't the value that was expected.
-
getLastNodeReturned
protected AbstractLinkedList.Node<E> getLastNodeReturned() throws java.lang.IllegalStateException
Gets the last node returned.- Returns:
- the last node returned
- Throws:
java.lang.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 interfacejava.util.ListIterator<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 interfacejava.util.ListIterator<E>- Specified by:
previousin interfaceOrderedIterator<E>- Returns:
- the previous element in the iteration
-
nextIndex
public int nextIndex()
- Specified by:
nextIndexin interfacejava.util.ListIterator<E>
-
previousIndex
public int previousIndex()
- Specified by:
previousIndexin interfacejava.util.ListIterator<E>
-
remove
public void remove()
-
-