java.util.Iterator<E>UniqueFilterIteratorpublic class FilterIterator<E>
extends java.lang.Object
implements java.util.Iterator<E>
Iterator using a predicate to filter elements.
This iterator decorates the underlying iterator, only allowing through
those elements that match the specified Predicate.
| Constructor | Description |
|---|---|
FilterIterator() |
Constructs a new
FilterIterator that will not function
until setIterator is invoked. |
FilterIterator(java.util.Iterator<? extends E> iterator) |
Constructs a new
FilterIterator that will not function
until setPredicate is invoked. |
FilterIterator(java.util.Iterator<? extends E> iterator,
Predicate<? super E> predicate) |
Constructs a new
FilterIterator that will use the
given iterator and predicate. |
| Modifier and Type | Method | Description |
|---|---|---|
java.util.Iterator<? extends E> |
getIterator() |
Gets the iterator this iterator is using.
|
Predicate<? super E> |
getPredicate() |
Gets the predicate this iterator is using.
|
boolean |
hasNext() |
Returns true if the underlying iterator contains an object that
matches the predicate.
|
E |
next() |
Returns the next object that matches the predicate.
|
void |
remove() |
Removes from the underlying collection of the base iterator the last
element returned by this iterator.
|
void |
setIterator(java.util.Iterator<? extends E> iterator) |
Sets the iterator for this iterator to use.
|
void |
setPredicate(Predicate<? super E> predicate) |
Sets the predicate this the iterator to use.
|
public FilterIterator()
FilterIterator that will not function
until setIterator is invoked.public FilterIterator(java.util.Iterator<? extends E> iterator)
FilterIterator that will not function
until setPredicate is invoked.iterator - the iterator to usepublic boolean hasNext()
hasNext in interface java.util.Iterator<E>java.lang.NullPointerException - if either the iterator or predicate are nullpublic E next()
next in interface java.util.Iterator<E>java.lang.NullPointerException - if either the iterator or predicate are nulljava.util.NoSuchElementException - if there are no more elements that
match the predicatepublic void remove()
next() was called, but not after
hasNext(), because the hasNext() call
changes the base iterator.remove in interface java.util.Iterator<E>java.lang.IllegalStateException - if hasNext() has already
been called.public java.util.Iterator<? extends E> getIterator()
public void setIterator(java.util.Iterator<? extends E> iterator)
iterator - the iterator to usepublic Predicate<? super E> getPredicate()
Copyright © 2001-2019 - Apache Software Foundation