Package net.cscott.jutil
Class SnapshotIterator<E>
java.lang.Object
net.cscott.jutil.SnapshotIterator<E>
- All Implemented Interfaces:
Iterator<E>
- Direct Known Subclasses:
ReverseIterator
A
SnapshotIterator takes a "snapshot" of an iterator,
and iterates over that snapshot. So subsequent modifications to
the collection underlying the original iterator do not modify the
snapshot or the SnapshotIterator. This is very
useful for modifying collections via a visitor class: we want
to make sure that every element of the original collection is
visited, while still permitting the visitor to make changes to
the collection as it operates.- Author:
- C. Scott Ananian <cananian@alumni.princeton.edu>