推荐答案
在 Dart 中,可以通过以下几种方式创建 Map
:
使用字面量语法:
var map = {'key1': 'value1', 'key2': 'value2'};
使用
Map
构造函数:var map = Map(); map['key1'] = 'value1'; map['key2'] = 'value2';
使用
Map.from
构造函数:var map = Map.from({'key1': 'value1', 'key2': 'value2'});
使用
Map.of
构造函数:var map = Map.of({'key1': 'value1', 'key2': 'value2'});
使用
Map.unmodifiable
构造函数(创建不可修改的Map
):var map = Map.unmodifiable({'key1': 'value1', 'key2': 'value2'});
本题详细解读
1. 字面量语法
字面量语法是最常用的创建 Map
的方式。它简洁明了,适合在已知键值对的情况下使用。
var map = {'key1': 'value1', 'key2': 'value2'};
2. 使用 Map
构造函数
Map
构造函数创建一个空的 Map
,然后可以通过 []=
操作符添加键值对。
var map = Map(); map['key1'] = 'value1'; map['key2'] = 'value2';
3. 使用 Map.from
构造函数
Map.from
构造函数可以从另一个 Map
或 Iterable
创建一个新的 Map
。
var map = Map.from({'key1': 'value1', 'key2': 'value2'});
4. 使用 Map.of
构造函数
Map.of
构造函数与 Map.from
类似,但它会创建一个新的 Map
实例,而不是共享底层数据结构。
var map = Map.of({'key1': 'value1', 'key2': 'value2'});
5. 使用 Map.unmodifiable
构造函数
Map.unmodifiable
构造函数创建一个不可修改的 Map
,任何尝试修改该 Map
的操作都会抛出异常。
var map = Map.unmodifiable({'key1': 'value1', 'key2': 'value2'});