Метод moveNext
Метод moveNext класса Iterator переводит итератор
к следующему элементу коллекции. Метод не принимает параметров.
Если следующий элемент существует, итератор перемещается к нему,
а метод возвращает true. Если элементы закончились,
метод возвращает false. После успешного вызова
moveNext текущий элемент доступен через свойство
current.
Синтаксис
iterator.moveNext()
Пример
Давайте получим итератор списка и вручную переберём
все его элементы с помощью метода moveNext:
void main()
{
List<String> list = ['a', 'b', 'c', 'd', 'e'];
Iterator<String> it = list.iterator;
while (it.moveNext())
{
print(it.current);
}
}
Результат выполнения кода:
"a"
"b"
"c"
"d"
"e"
Пример
Давайте посмотрим, что возвращает метод moveNext
при первом вызове и после того, как элементы закончатся:
void main()
{
List<int> list = [1, 2, 3];
Iterator<int> it = list.iterator;
print(it.moveNext());
print(it.current);
print(it.moveNext());
print(it.current);
print(it.moveNext());
print(it.current);
print(it.moveNext());
}
Результат выполнения кода:
true
1
true
2
true
3
false
Пример
Давайте пропустим первые два элемента, вызвав
moveNext несколько раз, а затем прочитаем
текущий элемент через свойство current:
void main()
{
List<String> list = ['a', 'b', 'c', 'd', 'e'];
Iterator<String> it = list.iterator;
it.moveNext();
it.moveNext();
it.moveNext();
print(it.current);
}
Результат выполнения кода:
"c"