Class ListIteratorWrapper<E>
java.lang.Object
org.apache.commons.collections4.iterators.ListIteratorWrapper<E>
- Type Parameters:
E
- the type of elements in this iterator.
- All Implemented Interfaces:
Iterator<E>
,ListIterator<E>
,OrderedIterator<E>
,ResettableIterator<E>
,ResettableListIterator<E>
Converts an
Iterator
into a ResettableListIterator
.
For plain Iterator
s this is accomplished by caching the returned
elements. This class can also be used to simply add
ResettableIterator
functionality to a given ListIterator
.
The ListIterator
interface has additional useful methods
for navigation - previous()
and the index methods.
This class allows a regular Iterator
to behave as a
ListIterator
. It achieves this by building a list internally
of as the underlying iterator is traversed.
The optional operations of ListIterator
are not supported for plain Iterator
s.
This class implements ResettableListIterator from Commons Collections 3.2.
- Since:
- 2.1
-
Constructor Summary
ConstructorDescriptionListIteratorWrapper
(Iterator<? extends E> iterator) Constructs a newListIteratorWrapper
that will wrap the given iterator. -
Method Summary
Modifier and TypeMethodDescriptionvoid
boolean
hasNext()
Returns true if there are more elements in the iterator.boolean
Returns true if there are previous elements in the iterator.next()
Returns the next element from the iterator.int
Returns the index of the next element.previous()
Returns the previous element.int
Returns the index of the previous element.void
remove()
Removes the last element that was returned bynext()
orprevious()
from the underlying collection.void
reset()
Resets this iterator back to the position at which the iterator was created.void
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
-
Constructor Details
-
ListIteratorWrapper
Constructs a newListIteratorWrapper
that will wrap the given iterator.- Parameters:
iterator
- the iterator to wrap- Throws:
NullPointerException
- if the iterator is null
-
-
Method Details
-
add
- Specified by:
add
in interfaceListIterator<E>
- Parameters:
obj
- the object to add- Throws:
UnsupportedOperationException
- if the underlying iterator is not of typeListIterator
-
hasNext
Returns true if there are more elements in the iterator. -
hasPrevious
Returns true if there are previous elements in the iterator.- Specified by:
hasPrevious
in interfaceListIterator<E>
- Specified by:
hasPrevious
in interfaceOrderedIterator<E>
- Returns:
- true if there are previous elements
-
next
Returns the next element from the iterator.- Specified by:
next
in interfaceIterator<E>
- Specified by:
next
in interfaceListIterator<E>
- Returns:
- the next element from the iterator
- Throws:
NoSuchElementException
- if there are no more elements
-
nextIndex
Returns the index of the next element.- Specified by:
nextIndex
in interfaceListIterator<E>
- Returns:
- the index of the next element
-
previous
Returns the previous element.- Specified by:
previous
in interfaceListIterator<E>
- Specified by:
previous
in interfaceOrderedIterator<E>
- Returns:
- the previous element
- Throws:
NoSuchElementException
- if there are no previous elements
-
previousIndex
Returns the index of the previous element.- Specified by:
previousIndex
in interfaceListIterator<E>
- Returns:
- the index of the previous element
-
remove
Removes the last element that was returned bynext()
orprevious()
from the underlying collection. This call can only be made once per call tonext
orprevious
and only ifadd(Object)
was not called in between.- Specified by:
remove
in interfaceIterator<E>
- Specified by:
remove
in interfaceListIterator<E>
- Throws:
IllegalStateException
- ifnext
orprevious
have not been called before, or ifremove
oradd
have been called after the last call tonext
orprevious
-
reset
Resets this iterator back to the position at which the iterator was created.- Specified by:
reset
in interfaceResettableIterator<E>
- Since:
- 3.2
-
set
- Specified by:
set
in interfaceListIterator<E>
- Parameters:
obj
- the object to set- Throws:
UnsupportedOperationException
- if the underlying iterator is not of typeListIterator
-