Class ExtendedIterator<T>
java.lang.Object
org.apache.commons.collections4.iterators.ExtendedIterator<T>
- Type Parameters:
T- The type of object returned from the iterator.
- All Implemented Interfaces:
Iterator<T>,IteratorOperations<T>
Extends Iterator functionality to include operations commonly found on streams (for example filtering, concatenating, mapping). It also provides convenience methods
for common operations.
- Since:
- 4.5.0-M3
-
Method Summary
Modifier and TypeMethodDescription<X extends T>
ExtendedIterator<T> Chains theotheriterator to the end of this one.static <T> ExtendedIterator<T> Create an ExtendedIterator returning the elements ofit.static <T> ExtendedIterator<T> Creates an ExtendedIterator wrapped round aStream.static <T> ExtendedIterator<T> createNoRemove(Iterator<T> it) Creates an ExtendedIterator wrapped roundit, which does not permit.remove()even ifitdoes.static ExtendedIterator<?> Creates an empty Extended iterator.Filter this iterator using a predicate.static <T> ExtendedIterator<T> Flattens an iterator of iterators into an Iterator over the next level values.voidforEachRemaining(Consumer<? super T> action) booleanhasNext()<U> ExtendedIterator<U> Map the elements of the iterator to a now type.next()voidremove()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.commons.collections4.iterators.IteratorOperations
addTo, removeNext, toCollection, toList, toSet
-
Method Details
-
create
Create an ExtendedIterator returning the elements ofit. Ifitis itself an ExtendedIterator, return that; otherwise wrapit.- Type Parameters:
T- The type of object returned from the iterator.- Parameters:
it- The iterator to wrap.- Returns:
- An Extended iterator wrapping
it
-
create
Creates an ExtendedIterator wrapped round aStream. The extended iterator does not permit.remove().The stream should not be used directly. The effect of doing so is undefined.
- Type Parameters:
T- The type of object returned from the iterator.- Parameters:
stream- the Stream to create an iterator from.- Returns:
- an Extended iterator on the
streamiterator.
-
createNoRemove
Creates an ExtendedIterator wrapped roundit, which does not permit.remove()even ifitdoes.- Type Parameters:
T- The type of object returned from the iterator.- Parameters:
it- The Iterator to wrap.- Returns:
- an Extended iterator on
it - Throws:
UnsupportedOperationException- if remove() is called on the resulting iterator.
-
emptyIterator
Creates an empty Extended iterator.- Returns:
- An empty Extended iterator.
-
flatten
Flattens an iterator of iterators into an Iterator over the next level values. Similar to list splicing in lisp.- Type Parameters:
T- The type of object returned from the iterator.- Parameters:
iterators- An iterator of iterators.- Returns:
- An iterator over the logical concatenation of the inner iterators.
-
andThen
Chains theotheriterator to the end of this one.- Type Parameters:
X- The type of object returned from the other iterator.- Parameters:
other- the other iterator to extend this iterator with.- Returns:
- A new iterator returning the contents of
thisiterator followed by the contents ofotheriterator.
-
filter
Filter this iterator using a predicate. Only items for which the predicate returnstruewill be included in the result.- Parameters:
predicate- The predicate to filter the items with.- Returns:
- An iterator filtered by the predicate.
-
forEachRemaining
- Specified by:
forEachRemainingin interfaceIterator<T>
-
hasNext
-
map
Map the elements of the iterator to a now type.- Type Parameters:
U- The object type to return.- Parameters:
function- The function to map elements of<T>to type<U>.- Returns:
- An Extended iterator that returns a
<U>for very<T>in the original iterator.
-
next
-
remove
-