description

# Iterator<E> class Null safety

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()) {
      use(it.current);
    }

See also: Iteration in the library tour

Implementers
  - BidirectionalIterator
  - FixedSizeListIterator

## Constructors

Iterator()

## Properties

current → E
  Returns the current element. [...]
  read-only
hashCode → int
  The hash code for this object. [...]
  read-only, inherited
runtimeType → Type
  A representation of the runtime type of the object.
  read-only, inherited

## Methods

moveNext() → bool
  Advances the iterator to the next element of the iteration. [...]
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a non-existent method or property is accessed. [...]
  inherited
toString() → String
  Returns a string representation of this object.
  inherited

## Operators

operator ==(Object other) → bool
  The equality operator. [...]
  inherited