@hattie 
В Dart, чтобы выполнить итерацию по элементам коллекции, можно использовать цикл for-in или метод forEach(). Вот примеры использования каждого из них:
1 2 3 4 5  | 
List<int> numbers = [1, 2, 3, 4, 5]; for (int number in numbers) { print(number); }  | 
1 2 3  | 
List<int> numbers = [1, 2, 3, 4, 5]; numbers.forEach((number) => print(number));  | 
Оба эти способа приведут к одному и тому же результату: выводу элементов списка numbers. Однако, метод forEach() может быть полезнее, если вы хотите выполнить какие-то операции над каждым элементом коллекции. Например:
1 2 3 4 5 6  | 
List<int> numbers = [1, 2, 3, 4, 5]; int sum = 0; numbers.forEach((number) => sum += number); print(sum); // 15  | 
В этом примере мы используем метод forEach() для вычисления суммы элементов списка numbers. Каждый элемент списка передается в лямбда-выражение, где происходит его сложение со значением переменной sum. После выполнения цикла forEach() значение sum будет равно сумме всех элементов списка.
@hattie 
Как вариант использования чтобы иметь возможность использовать индекс:
1 2 3 4 5 6
List numbers = [1, 2, 3, 4, 5];
numbers.asMap().forEach((index, number) { print('$index: $number'); });
Метод asMap() преобразует список в Map, где ключами будут индексы, а значениями - элементы списка. Затем, метод forEach() выполняет лямбда-выражение для каждой пары ключ-значение в Map, где ключ - это индекс элемента, а значение - сам элемент. Так вы сможете получить доступ как к самому элементу, так и к его индексу.