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

Метод map

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

Синтаксис

Stream<T> map<T>(T convert(E event))

Пример

Давайте преобразуем каждый элемент потока, умножив его на 2:

void main() { Stream<int> stream = Stream.fromIterable([1, 2, 3, 4, 5]); Stream<int> res = stream.map((int item) => item * 2); res.listen((int item) { print(item); }); }

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

2 4 6 8 10

Пример

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

void main() { Stream<String> stream = Stream.fromIterable(['abcde', '12345', 'a', 'ab']); Stream<int> res = stream.map((String item) => item.length); res.listen((int item) { print(item); }); }

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

5 5 1 2

Пример

Давайте преобразуем числовой поток в поток строк с помощью метода map:

void main() { Stream<int> stream = Stream.fromIterable([1, 2, 3]); Stream<String> res = stream.map((int item) => 'Number: $item'); res.listen((String item) { print(item); }); }

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

"Number: 1" "Number: 2" "Number: 3"

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

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