public static class CursorableLinkedList.Cursor<E> extends AbstractLinkedList.LinkedListIterator<E>
ListIterator
that allows concurrent changes to
the underlying list.current, expectedModCount, next, nextIndex, parent
Modifier | Constructor and Description |
---|---|
protected |
CursorableLinkedList.Cursor(CursorableLinkedList<E> parent,
int index)
Constructs a new cursor.
|
Modifier and Type | Method and Description |
---|---|
void |
add(E obj)
Adds an object to the list.
|
protected void |
checkModCount()
Override superclass modCount check, and replace it with our valid flag.
|
void |
close()
Mark this cursor as no longer being needed.
|
int |
nextIndex()
Gets the index of the next element to be returned.
|
protected void |
nodeChanged(AbstractLinkedList.Node<E> node)
Handle event from the list when a node has changed.
|
protected void |
nodeInserted(AbstractLinkedList.Node<E> node)
Handle event from the list when a node has been added.
|
protected void |
nodeRemoved(AbstractLinkedList.Node<E> node)
Handle event from the list when a node has been removed.
|
void |
remove()
Removes the item last returned by this iterator.
|
getLastNodeReturned, hasNext, hasPrevious, next, previous, previousIndex, set
protected CursorableLinkedList.Cursor(CursorableLinkedList<E> parent, int index)
parent
- the parent listindex
- the index to start frompublic void remove()
There may have been subsequent alterations to the list since you obtained this item, however you can still remove it. You can even remove it if the item is no longer in the main list. However, you can't call this method on the same iterator more than once without calling next() or previous().
remove
in interface Iterator<E>
remove
in interface ListIterator<E>
remove
in class AbstractLinkedList.LinkedListIterator<E>
IllegalStateException
- if there is no item to removepublic void add(E obj)
add
in interface ListIterator<E>
add
in class AbstractLinkedList.LinkedListIterator<E>
obj
- the object to addpublic int nextIndex()
nextIndex
in interface ListIterator<E>
nextIndex
in class AbstractLinkedList.LinkedListIterator<E>
protected void nodeChanged(AbstractLinkedList.Node<E> node)
node
- the node that changedprotected void nodeRemoved(AbstractLinkedList.Node<E> node)
node
- the node that was removedprotected void nodeInserted(AbstractLinkedList.Node<E> node)
node
- the node that was addedprotected void checkModCount()
checkModCount
in class AbstractLinkedList.LinkedListIterator<E>
public void close()
Copyright © 2001–2013 The Apache Software Foundation. All rights reserved.