Iterator<E> class abstract interface

An interface for getting items, one at a time, from an object.

The for-in construct transparently uses Iterator to test for the end of the iteration, and to get each item (or element).

If the object iterated over is changed during the iteration, the behavior is unspecified.

The Iterator is initially positioned before the first element. Before accessing the first element the iterator must thus be advanced using moveNext to point to the first element. If no element is left, then moveNext returns false, and all further calls to moveNext will also return false.

The current value must not be accessed before calling moveNext or after a call to moveNext has returned false.

A typical usage of an Iterator looks as follows:

var it = obj.iterator;
while (it.moveNext()) {

See also: Iteration in the library tour





current → E
The current element.
no setter
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited


moveNext() bool
Advances the iterator to the next element of the iteration.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
toString() String
A string representation of this object.


operator ==(Object other) bool
The equality operator.