在 Dart 中,Map 是用于存储键值对的核心数据结构_'age'_'name'_'Alice'
2025-05-24 06:34:32 84
在 Dart 中,Map 是用于存储键值对的核心数据结构,与 Ruby 的 Hash 类似。Dart 提供了多种方式来创建和操作 Map,以下是围绕创建 Map 的详细说明及示例:
1. 使用字面量语法创建 Map
Dart 支持通过花括号 {} 和 : 语法直接创建 Map,这是最常用的方式:
dart
void main() {
// 使用字面量语法创建 Map
var person = {
'name': 'Alice',
'age': 25,
'isStudent': true
};
print("Person: $person"); // 输出: {name: Alice, age: 25, isStudent: true}
展开剩余69%}
特点:
简洁直观:适合在代码中直接定义静态键值对。
类型推断:var 会自动推断为 Map<String, Object?>(键为 String,值为任意类型)。
2. 使用 Map() 构造函数创建 Map
通过 Map() 构造函数可以动态初始化 Map,适用于需要运行时构建键值对的场景:
dart
void main() {
// 使用 Map() 构造函数创建空 Map
var person = Map<String, dynamic>();
// 动态添加键值对
person['name'] = 'Alice';
person['age'] = 25;
person['isStudent'] = true;
print("Person: $person"); // 输出: {name: Alice, age: 25, isStudent: true}
}
特点:
类型安全:通过泛型参数(如 <String, dynamic>)显式指定键和值的类型。
动态扩展:适合需要逐步填充数据的场景。
3. 使用 Map.from() 从其他集合创建 Map
Map.from() 允许从现有的 Map 或可迭代对象(如 List)创建新的 Map:
示例 1:从现有 Map 复制
dart
void main() {
var original = {'name': 'Alice', 'age': 25};
var copy = Map.from(original);
print("Copy: $copy"); // 输出: {name: Alice, age: 25}
}
**示例 2:从
发布于:福建省新闻动态
热点资讯
-
1.禁烟标识被人无视 出言劝阻反生矛盾 受访者表示期待公共场所不
- 1

- 禁烟标识被人无视 出言劝阻反生矛盾 受访者表示期待公共场所不
- 2026-04-30
- 1
-
2.南方日报头版|大湾区灯会2月10日启幕 “喜洋洋”“乐融融”
- 2

- 南方日报头版|大湾区灯会2月10日启幕 “喜洋洋”“乐融融”
- 2026-02-06
- 2
-
3.15秒看山东丨榜样少年!枣庄小学生拾金不昧获民警“突袭”表扬
- 3

- 15秒看山东丨榜样少年!枣庄小学生拾金不昧获民警“突袭”表扬
- 2025-10-27
- 3
-
4.为何土耳其弹炮一体防空系统可以超过俄罗斯铠甲S1
- 4

- 为何土耳其弹炮一体防空系统可以超过俄罗斯铠甲S1
- 2025-03-06
- 4
-
5.对虚假登记说“不”!金牛区首例逃脱刑事处罚恶意注销企业案宣告
- 5

- 对虚假登记说“不”!金牛区首例逃脱刑事处罚恶意注销企业案宣告
- 2025-07-20
- 5
-
6.400分女生专科逆袭指南: 5大"低分高薪
- 6

- 400分女生专科逆袭指南: 5大"低分高薪
- 2025-06-25
- 6
-
7.记者:哈珀和卡斯尔是非卖品,马刺只会为字母哥提供福克斯和首轮
- 7

- 记者:哈珀和卡斯尔是非卖品,马刺只会为字母哥提供福克斯和首轮
- 2025-12-16
- 7
-
8.深圳颁发全国首张L4级自动驾驶微货测试牌照
- 8

- 深圳颁发全国首张L4级自动驾驶微货测试牌照
- 2025-04-15
- 8
-
9.玖龙纸业:张元福辞任执行董事
- 9

- 玖龙纸业:张元福辞任执行董事
- 2025-04-12
- 9
-
10.早泄— 玉锁丹 名称:素女玉锁丹。 来源:摘录《神奇祖传药方
- 10

- 早泄— 玉锁丹 名称:素女玉锁丹。 来源:摘录《神奇祖传药方
- 2025-05-21
- 10