Dart Map

Map对象是一个简单的键/值对。Map中的键和值可以是任何类型。Map是动态集合。换句话说,Maps可以在运行时增长和缩小。

可以通过两种方式声明Map

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

 

使用Map文字声明Map

要使用Map文字声明Map,您需要将键值对括在一对花括号 {}中 。

这是它的语法:

var identifier = { key1:value1, key2:value2 [,…..,key_n:value_n] }

 

使用Map构造器声明Map

要使用Map构造函数声明Map,我们有两个步骤。首先,声明Map,然后初始化Map。

该语法来声明一个Map 是如下:

var identifier = new Map()

现在,使用以下语法初始化Map

map_name[key] = value

示例:Map Literal

void main() {
 var details = {'Usrname':'tom','Password':'pass@123'};
 print(details);
}

它将产生以下输出:

{Usrname: tom, Password: pass@123}

示例:在运行时向映射文字添加值

void main() {
   var details = {'Usrname':'tom','Password':'pass@123'};
   details['Uid'] = 'U1oo1';
   print(details);
}

它将产生以下输出:

{Usrname: tom, Password: pass@123, Uid: U1oo1}

示例:Map构造函数

void main() {
 var details = new Map();
 details['Usrname'] = 'admin';
 details['Password'] = 'admin@123';
 print(details);
}

它将产生以下输出:

{Usrname: admin, Password: admin@123}

注意: Map值可以是包括NULL的任何对象。

 

Map 属性

dart:core 包中的 Map 类定义了以下属性:

序号 财产和描述
1 keys

返回表示键的可迭代对象

2 values

返回表示值的可迭代对象

3 length

返回Map的大小

4 isEmpty

如果Map是空Map,则返回true

5 isNotEmpty

如果Map是空Map,则返回true

 

Map 函数

以下是在Dart中操作Maps的常用函数。

序号 函数名称和描述
1 addAll()

向此映射添加其他所有键值对。

2 clear()

从Map中删除所有对。

3 remove()

从Map中删除键及其关联值(如果存在)。

4 forEach()

将f应用于Map的每个键值对。

Dart中的符号是不透明的动态字符串名称,用于反映库中的元数据。简而言之,符号是一种存储人类可读字符串与优化供计算机使用的字符串之间关系的方法。Reflection反射是一种在运行时获取类型元数据的机制,如类中的方法数,它具 ...