public class

FilterIterator

extends Object
implements Iterator<E>
java.lang.Object
   ↳ org.apache.commons.collections.iterators.FilterIterator
Known Direct Subclasses

Class Overview

Decorates another Iterator using a predicate to filter elements.

This iterator decorates the underlying iterator, only allowing through those elements that match the specified Predicate.

Summary

Public Constructors
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.
Public Methods
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.
[Expand]
Inherited Methods
From class java.lang.Object
From interface java.util.Iterator

Public Constructors

public FilterIterator ()

Constructs a new FilterIterator that will not function until setIterator is invoked.

public FilterIterator (Iterator iterator)

Constructs a new FilterIterator that will not function until setPredicate is invoked.

Parameters
iterator the iterator to use

public FilterIterator (Iterator iterator, Predicate predicate)

Constructs a new FilterIterator that will use the given iterator and predicate.

Parameters
iterator the iterator to use
predicate the predicate to use

Public Methods

public Iterator getIterator ()

Gets the iterator this iterator is using.

Returns
  • the iterator

public Predicate getPredicate ()

Gets the predicate this iterator is using.

Returns
  • the predicate

public boolean hasNext ()

Returns true if the underlying iterator contains an object that matches the predicate.

Returns
  • true if there is another object that matches the predicate
Throws
NullPointerException if either the iterator or predicate are null

public Object next ()

Returns the next object that matches the predicate.

Returns
  • the next object which matches the given predicate
Throws
NullPointerException if either the iterator or predicate are null
NoSuchElementException if there are no more elements that match the predicate

public void remove ()

Removes from the underlying collection of the base iterator the last element returned by this iterator. This method can only be called if next() was called, but not after hasNext(), because the hasNext() call changes the base iterator.

Throws
IllegalStateException if hasNext() has already been called.

public void setIterator (Iterator iterator)

Sets the iterator for this iterator to use. If iteration has started, this effectively resets the iterator.

Parameters
iterator the iterator to use

public void setPredicate (Predicate predicate)

Sets the predicate this the iterator to use.

Parameters
predicate the predicate to use