Dart Map

17 Mar 2025 | 4 分钟阅读

Dart Map 是一个以键值对形式存储数据的对象。每个值都与其键相关联,并用于访问其对应的值。键和值都可以是任何类型。在 Dart Map 中,每个键必须是唯一的,但相同的值可以多次出现。Map 的表示形式与 Python 字典非常相似。Map 可以使用花括号 {} 声明,每个键值对用逗号 (,) 分隔。可以使用方括号 ([]) 访问键的值。

声明 Dart Map

Dart Map 可以用两种方法定义。

  • 使用 Map 字面量
  • 使用 Map 构造函数

声明 Dart Map 的语法如下。

使用 Map 字面量

要使用 Map 字面量声明 Map,键值对包含在花括号 "{}" 中,并用逗号分隔。语法如下。

语法 -

示例 - 1

输出

{name: Tom, age: 23}

示例 - 2:在运行时添加值

输出

{name: tom, age: 23, course: B.tech}

解释 -

在上面的例子中,我们声明了一个学生姓名的 Map。我们通过使用方括号并在运行时传递新键作为与值关联的课程来添加值。

使用 Map 构造函数

要使用 map 构造函数声明 Dart Map,可以通过两种方式进行。首先,使用 map() 构造函数声明一个 map。其次,初始化 map。语法如下。

语法 -

之后,初始化值。

示例 - 1:Map 构造函数

输出

{name: Tom, age: 23, course: B.tech, Branch: Computer Science}

注意 - Map 值可以是任何对象,包括 NULL。

Map 属性

dart:core:package 具有 Map 类,该类定义以下属性。

性质说明
它用于获取所有键作为可迭代对象。
values它用于获取所有值作为可迭代对象。
长度它返回 Map 对象的长度。
isEmpty如果 Map 对象不包含任何值,则返回 true。
isNotEmpty如果 Map 对象包含至少一个值,则返回 true。

示例 -

输出

{name: Tom, age: 23, course: B.tech, Branch: Computer Science}
The keys are : (name, age, course, Branch)
The values are : (Tom, 23, B.tech, Computer Science)
The length is : 4
false
true 

Map 方法

常用的方法如下。

addAll() - 它添加其他多个键值对。语法如下。

语法 -

参数

  • other - 它表示键值对。它返回 void 类型。

让我们理解下面的例子。

示例 -

输出

Map :{name: Tom, age: 23}
Map after adding  key-values :{name: Tom, age: 23, dept: Civil, email: [email protected]}

remove() - 它从 map 中删除所有对。语法如下。

语法 -

让我们看看以下示例。

示例 -

输出

Map :{name: Tom, age: 23}
Map after removing all key-values :{}

remove() - 如果给定 map 中存在该键及其关联值,则删除该键及其关联值。语法如下。

语法 -

参数 -

  • Keys - 它删除给定的条目。它返回与指定键关联的值。

让我们理解下面的例子。

示例 -

输出

Map :{name: Tom, age: 23}
Map after removing given key :{name: Tom}

forEach() - 它用于迭代 Map 的条目。语法如下。

语法 -

输出

Map :{name: Tom, age: 23}
name: Tom
age: 23

下一个主题Dart 符号