Оператор spread
Оператор ... (spread) позволяет развернуть элементы
одной коллекции (списка, множества или мапы) внутрь
другой коллекции. Он часто используется для объединения
коллекций, копирования или добавления элементов в
литералы. Оператор не принимает параметров, а просто
ставится перед коллекцией, которую нужно развернуть.
Синтаксис
[...collection]
Пример
Давайте развернем элементы одного списка внутрь другого списка:
void main()
{
List<int> list1 = [1, 2, 3];
List<int> list2 = [4, 5, 6];
List<int> res = [...list1, ...list2];
print(res);
}
Результат выполнения кода:
[1, 2, 3, 4, 5, 6]
Пример
Оператор spread можно использовать и для мап. Давайте объединим две мапы в одну:
void main()
{
Map<String, int> map1 = {'a': 1, 'b': 2};
Map<String, int> map2 = {'c': 3, 'd': 4};
Map<String, int> res = {...map1, ...map2};
print(res);
}
Результат выполнения кода:
{a: 1, b: 2, c: 3, d: 4}
Пример
Оператор spread также работает с множествами. Давайте создадим новое множество, развернув в него элементы существующего:
void main()
{
Set<String> set1 = {'a', 'b', 'c'};
Set<String> res = {...set1, 'd', 'e'};
print(res);
}
Результат выполнения кода:
{a, b, c, d, e}
Смотрите также
-
оператор
spread-null,
который разворачивает коллекцию с проверкой на null -
ключевое слово
var,
которое объявляет переменную с выводом типа -
ключевое слово
final,
которое объявляет неизменяемую переменную -
функция
print,
которая выводит данные в консоль