Class PushbackIterator<E>
java.lang.Object
org.apache.commons.collections4.iterators.PushbackIterator<E>
- Type Parameters:
E
- the type of elements returned by this iterator.
- All Implemented Interfaces:
Iterator<E>
Decorates an iterator to support pushback of elements.
The decorator stores the pushed back elements in a LIFO manner: the last element
that has been pushed back, will be returned as the next element in a call to next()
.
The decorator does not support the removal operation. Any call to remove()
will
result in an UnsupportedOperationException
.
- Since:
- 4.0
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
hasNext()
next()
void
Push back the given element to the iterator.static <E> PushbackIterator<E>
pushbackIterator
(Iterator<? extends E> iterator) Decorates the specified iterator to support one-element lookahead.void
remove()
This iterator will always throw anUnsupportedOperationException
.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
-
PushbackIterator
Constructs a new instance.- Parameters:
iterator
- the iterator to decorate
-
-
Method Details
-
pushbackIterator
Decorates the specified iterator to support one-element lookahead.If the iterator is already a
PushbackIterator
it is returned directly.- Type Parameters:
E
- the element type- Parameters:
iterator
- the iterator to decorate- Returns:
- a new peeking iterator
- Throws:
NullPointerException
- if the iterator is null
-
hasNext
-
next
-
pushback
Push back the given element to the iterator.Calling
next()
immediately afterwards will return exactly this element.- Parameters:
item
- the element to push back to the iterator
-
remove
This iterator will always throw anUnsupportedOperationException
.- Specified by:
remove
in interfaceIterator<E>
- Throws:
UnsupportedOperationException
- always
-