📜  要映射的 dart 对象 - Dart (1)

📅  最后修改于: 2023-12-03 15:41:33.463000             🧑  作者: Mango

要映射的 dart 对象 - Dart

在 Dart 中,映射(Map)是一种将键值对(key-value pairs)映射到值(value)的对象。它类似于其他编程语言中的字典或哈希表。Dart 映射提供了许多方便的方法来管理键值对。

创建映射

创建 Dart 映射的最简单方法是使用常量映射文字(literal map syntax),它使用花括号 {} 以及冒号 : 来分隔键值对。例如:

var map = {"name": "John", "age": 30};

也可以使用 Map 构造函数来创建映射。例如:

var map = Map();
map["name"] = "John";
map["age"] = 30;

可以使用泛型来指定映射的键和值类型。例如:

var map = <String, int>{"one": 1, "two": 2, "three": 3};
访问映射

可以使用方括号操作符 [] 来访问映射中的值:

var map = {"name": "John", "age": 30};
print(map["name"]); // 输出 "John"
print(map["age"]); // 输出 30

还可以使用 containsKey() 方法来检查映射中是否存在键。例如:

if (map.containsKey("name")) {
  print("The map contains a name key.");
}

可以使用 values 属性来获取映射中所有的值:

var map = {"name": "John", "age": 30};
var values = map.values;
print(values); // 输出 ["John", 30]

同样地,可以使用 keys 属性来获取映射中所有的键:

var keys = map.keys;
print(keys); // 输出 ["name", "age"]
更新映射

可以使用方括号操作符 [] 或 put() 方法来添加或更新键值对:

var map = {"name": "John", "age": 30};
map["name"] = "Mary";
map.putIfAbsent("address", () => "123 Main St.");
print(map); // 输出 {"name": "Mary", "age": 30, "address": "123 Main St."}

可以使用 update() 方法来更新映射中的值:

var map = {"name": "John", "age": 30};
map.update("age", (value) => value + 1);
print(map); // 输出 {"name": "John", "age": 31}

可以使用 remove() 方法来删除映射中的键值对:

var map = {"name": "John", "age": 30};
map.remove("name");
print(map); // 输出 {"age": 30}
遍历映射

可以使用 forEach() 方法来遍历映射中所有的键值对:

var map = {"name": "John", "age": 30};
map.forEach((key, value) {
  print("$key: $value");
});

也可以使用 for-in 循环来遍历映射中所有的键值对:

var map = {"name": "John", "age": 30};
for (var entry in map.entries) {
  print("${entry.key}: ${entry.value}");
}
总结

Dart 映射是一种非常有用的数据结构,它提供了强大的方法来管理键值对。通过使用字面量、构造函数、操作符和方法,可以创建、访问、更新和遍历映射。