E- the type of object returned by the iterator.
public interface Iterator<E>
If a collection has been changed since the iterator was created,
hasNext() may throw a
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.
Iterable and returning an
Iterator allows your
class to be used as a collection with the enhanced for loop.
nextfrom the collection. This method can only be called once between each call to