Dart映射

Dart映射

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

映射可以通过两种方式声明 -

  • 使用映射文字
  • 使用Map构造函数

使用Map文字声明映射

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

语法 -

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

使用Map构造器声明映射

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

声明映射的语法如下 -

var identifier = new Map()

现在,使用以下语法初始化映射 -

map_name[key] = value

示例1:Map文字声明

void main() { 
   var details = {'Usrname':'maxsu','Password':'passwd123'}; 
   print(details); 
}

执行后,得到以下结果 -

{Usrname: maxsu, Password: passwd123}

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

void main() { 
   var details = {'Usrname':'maxsu','Password':'passwd123'}; 
   details['Uid'] = '10086'; 
   print(details); 
}

执行后,得到以下结果 -

{Usrname: maxsu, Password: passwd123, Uid: 10086}

示例3:Map构造函数

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

执行后,得到以下结果 -

{Usrname: admin, Password: mypasswd}

注 - 映射值可以是包括NULL的任何对象。

Map属性

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

编号 属性 描述
1 Keys 返回表示键的可迭代对象
2 Values 返回表示值的可迭代对象
3 Length 返回Map的大小
4 isEmpty 如果Map是空的,则返回true
5 isNotEmpty 如果Map不是空的,则返回true

Map函数

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

编号 函数 描述
1 addAll() 向此映射添加其他所有键值对。
2 clear() 从映射中删除所有对。
3 remove() 从映射中删除键及其关联值(如果存在)。
4 forEach() for应用于映射的每个键值对。