E
- the type of object returned by the iterator.public interface Iterator<E>
If a collection has been changed since the iterator was created,
methods next
and hasNext()
may throw a ConcurrentModificationException
.
It is not possible to guarantee that this mechanism works in all cases of unsynchronized
concurrent modification. It should only be used for debugging purposes. Iterators with this
behavior are called fail-fast iterators.
Implementing Iterable
and returning an Iterator
allows your
class to be used as a collection with the enhanced for loop.
boolean hasNext()
next()
E next()
NoSuchElementException
- if there are no more elements.hasNext()
void remove()
next
from the collection.
This method can only be called once between each call to next
.UnsupportedOperationException
- if removing is not supported by the collection being
iterated.IllegalStateException
- if next
has not been called, or remove
has
already been called after the last call to next
.