Оператор spread (спред ...)
Оператор spread (спред ...) в Dart разворачивает
элементы одной коллекции внутри другой коллекции.
Чаще всего он применяется к спискам: если перед списком
поставить три точки, то все его элементы будут вставлены
в новый список по месту. Оператор принимает саму коллекцию,
элементы которой нужно развернуть. С его помощью удобно
объединять несколько списков, добавлять элементы в начало
или конец списка, а также копировать содержимое одной
коллекции в другую.
Синтаксис
[...collection]
Пример
Давайте развернем один список внутри другого
с помощью оператора ...:
void main()
{
List<int> a = [1, 2, 3];
List<int> b = [4, 5];
List<int> res = [...a, ...b];
print(res);
}
Результат выполнения кода:
[1, 2, 3, 4, 5]
Пример
Давайте добавим элементы одного списка в начало и в конец другого списка:
void main()
{
List<int> a = [1, 2, 3];
List<int> b = [0, ...a, 4];
print(b);
}
Результат выполнения кода:
[0, 1, 2, 3, 4]
Пример
Давайте объединим три списка строк в один общий список:
void main()
{
List<String> a = ['a', 'b'];
List<String> b = ['c'];
List<String> c = ['d', 'e'];
List<String> res = [...a, ...b, ...c];
print(res);
}
Результат выполнения кода:
[a, b, c, d, e]
Смотрите также
-
метод
addAll,
который добавляет все элементы коллекции в список -
метод
insertAll,
который вставляет элементы коллекции по индексу -
литерал
списка,
который создает список из элементов -
элемент
for-element,
который строит список через цикл