Свойство iterator
Свойство iterator класса Iterable возвращает объект типа Iterator, который позволяет последовательно перебирать элементы коллекции. Итератор хранит текущую позицию обхода и предоставляет доступ к текущему элементу через свойство current, а также позволяет перейти к следующему элементу с помощью метода moveNext. Каждый вызов свойства iterator создает новый итератор, установленный перед первым элементом коллекции.
Синтаксис
iterable.iterator
Пример
Давайте получим итератор для списка и переберем все его элементы с помощью метода moveNext и свойства current:
void main()
{
List<int> numbers = [1, 2, 3, 4, 5];
Iterator<int> it = numbers.iterator;
while (it.moveNext())
{
print(it.current);
}
}
Результат выполнения кода:
1
2
3
4
5
Пример
Давайте получим итератор для строки и выведем только первый элемент:
void main()
{
String str = 'abcde';
Iterator<String> it = str.iterator;
if (it.moveNext())
{
print(it.current);
}
}
Результат выполнения кода:
"a"
Пример
Давайте проверим, что после полного обхода коллекции метод moveNext возвращает false:
void main()
{
List<String> letters = ['a', 'b', 'c', 'd', 'e'];
Iterator<String> it = letters.iterator;
while (it.moveNext())
{
print(it.current);
}
print(it.moveNext());
}
Результат выполнения кода:
"a"
"b"
"c"
"d"
"e"
false