public class FilterIterator extends Object implements Iterator
Iterator
using a predicate to filter elements.
This iterator decorates the underlying iterator, only allowing through
those elements that match the specified Predicate
.
Constructor and Description |
---|
FilterIterator()
Constructs a new
FilterIterator that will not function
until setIterator is invoked. |
FilterIterator(Iterator iterator)
Constructs a new
FilterIterator that will not function
until setPredicate is invoked. |
FilterIterator(Iterator iterator,
Predicate predicate)
Constructs a new
FilterIterator that will use the
given iterator and predicate. |
Modifier and Type | Method and Description |
---|---|
Iterator |
getIterator()
Gets the iterator this iterator is using.
|
Predicate |
getPredicate()
Gets the predicate this iterator is using.
|
boolean |
hasNext()
Returns true if the underlying iterator contains an object that
matches the predicate.
|
Object |
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(Iterator iterator)
Sets the iterator for this iterator to use.
|
void |
setPredicate(Predicate predicate)
Sets the predicate this the iterator to use.
|
public FilterIterator()
FilterIterator
that will not function
until setIterator
is invoked.public FilterIterator(Iterator iterator)
FilterIterator
that will not function
until setPredicate
is invoked.iterator
- the iterator to usepublic boolean hasNext()
hasNext
in interface Iterator
NullPointerException
- if either the iterator or predicate are nullpublic Object next()
next
in interface Iterator
NullPointerException
- if either the iterator or predicate are nullNoSuchElementException
- 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 Iterator
IllegalStateException
- if hasNext()
has already
been called.public Iterator getIterator()
public void setIterator(Iterator iterator)
iterator
- the iterator to usepublic Predicate getPredicate()
public void setPredicate(Predicate predicate)
predicate
- the predicate to useCopyright © 2001–2015 The Apache Software Foundation. All rights reserved.