推荐答案
在 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'});