РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
506 of 723 menu

Метод forEach

Метод forEach класса Stream выполняет указанную функцию для каждого элемента потока. В первый параметр мы передаем функцию-обработчик, которая будет вызвана для каждого элемента потока. Метод возвращает Future, который завершается, когда все элементы потока будут обработаны.

Метод forEach удобно использовать для выполнения побочных действий с элементами потока: вывода в консоль, записи в файл или отправки данных. При этом сам метод не изменяет поток и не возвращает новый поток, а лишь выполняет перебор его элементов.

Синтаксис

stream.forEach(void Function(T element) action)

Пример

Давайте создадим поток из списка и выведем каждый его элемент в консоль:

void main() { Stream stream = Stream.fromIterable(['a', 'b', 'c', 'd', 'e']); stream.forEach((element) { print(element); }); }

Результат выполнения кода:

"a" "b" "c" "d" "e"

Пример

Давайте создадим поток из списка чисел и выведем квадрат каждого числа:

void main() { Stream stream = Stream.fromIterable([1, 2, 3, 4, 5]); stream.forEach((element) { print(element * element); }); }

Результат выполнения кода:

1 4 9 16 25

Пример

Давайте создадим поток строк и выведем сумму длин всех строк, используя переменную res:

void main() { Stream stream = Stream.fromIterable(['abcde', '12345', 'abcde']); int res = 0; stream.forEach((element) { res += element.length; }).then((_) { print(res); }); }

Результат выполнения кода:

15

Смотрите также

  • метод listen,
    который подписывается на события потока
  • метод map,
    который преобразует элементы потока
  • метод where,
    который фильтрует элементы потока
  • метод toList,
    который собирает элементы потока в список
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить