Class PushbackIterator<E>
- java.lang.Object
-
- org.apache.commons.collections4.iterators.PushbackIterator<E>
-
- All Implemented Interfaces:
Iterator<E>
public class PushbackIterator<E> extends Object implements 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 anUnsupportedOperationException.- Since:
- 4.0
-
-
Constructor Summary
Constructors Constructor Description PushbackIterator(Iterator<? extends E> iterator)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanhasNext()Enext()voidpushback(E item)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.voidremove()This iterator will always throw anUnsupportedOperationException.-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Method Detail
-
pushbackIterator
public static <E> PushbackIterator<E> pushbackIterator(Iterator<? extends E> iterator)
Decorates the specified iterator to support one-element lookahead.If the iterator is already a
PushbackIteratorit 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
-
pushback
public void pushback(E item)
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
public void remove()
This iterator will always throw anUnsupportedOperationException.- Specified by:
removein interfaceIterator<E>- Throws:
UnsupportedOperationException- always
-
-