An Iterator is a structure that permits iteration over elements of type T.

Any class with matching hasNext() and next() fields is considered an Iterator and can then be used e.g. in for-loops. This makes it easy to implement custom iterators.

See also:



Returns the current item of the `Iterator` and advances to the next one. This method is not required to check `hasNext()` first. A call to this method while `hasNext()` is `false` yields unspecified behavior. On the other hand, iterators should not require a call to `hasNext()` before the first call to `next()` if an element is available.


Returns `false` if the iteration is complete, `true` otherwise. Usually iteration is considered to be complete if all elements of the underlying data structure were handled through calls to `next()`. However, in custom iterators any logic may be used to determine the completion state.