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

Класс Iterable

Класс Iterable - это абстрактный интерфейс, который описывает любую коллекцию, элементы которой можно перебирать по одному в определённом порядке. Многие встроенные коллекции Dart, такие как List, Set и Map (через свои представления), реализуют этот интерфейс. Класс предоставляет множество методов для работы с элементами: map, where, reduce, fold, take, skip и другие. Благодаря тому, что Iterable является ленивым, многие операции не выполняются до момента фактического обращения к элементам.

Синтаксис

Iterable<E> iterable;

Здесь E - это тип элементов коллекции. Например, Iterable<int> или Iterable<String>.

Пример

Давайте создадим простой список и получим его как объект Iterable, а затем переберём элементы с помощью цикла:

void main() { Iterable<int> iter = [1, 2, 3, 4, 5]; for (int num in iter) { print(num); } }

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

1 2 3 4 5

Пример

Давайте применим метод map к объекту Iterable, чтобы удвоить каждый элемент, и получим новый объект Iterable:

void main() { Iterable<int> iter = [1, 2, 3, 4, 5]; Iterable<int> doubled = iter.map((int n) => n * 2); print(doubled.toList()); }

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

[2, 4, 6, 8, 10]

Пример

Давайте отфильтруем элементы объекта Iterable с помощью метода where, оставив только чётные числа:

void main() { Iterable<int> iter = [1, 2, 3, 4, 5]; Iterable<int> evens = iter.where((int n) => n % 2 == 0); print(evens.toList()); }

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

[2, 4]

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

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