Dart映射(Map对象)是一个简单的键/值对。映射中的键和值可以是任何类型。映射是动态集合。换句话说,Map可以在运行时增长和缩小。
映射可以通过两种方式声明 :
(1) 使用映射文字
(2) 使用Map构造函数
1、使用Map文字声明映射
要使用映射文字声明映射,需要将键值对括在一对花括号{}
中。
语法:
var identifier = {key1:value1,key2:value2,key3:value3};
2、使用Map构造声明映射
要使用Map构造函数声明Map。有两个步骤:首先,声明映射,然后初始化映射。
声明映射的语法如下 :
var identifer = new Map();
现在,使用以下语法初始化映射
map_name[key] = value;
示例1: Map 文字声明
var details = {'username':'bob','age':'15'}; details['Uid'] = '10068'; print(datails); // 打印结果: {username: bob, age: 15, Uid: 10068}
3、Map属性
(1) keys 返回表示键的可迭代对象
(2) Values 返回表示值的可迭代对象
(3) Length 返回Map的大小
(4) isEmpty 如果Map是空的,则返回true
。
(5) isNotEmpty 如果Map不是空的,则返回true
var details = {'username':'bob','age':'15'}; details['Uid'] = '10068'; print(details.keys); // 打印结果: (username, age, Uid) print(details.values); // 打印结果: (bob, 15, 10068) print(details.length); // 打印结果: 3 print(details.isEmpty); // 打印结果: false print(details.isNotEmpty); // 打印结果: true
4、Map函数
(1) addAll() 向此映射添加其他所有键值对。
(2)claer() 从映射中删除所有对。
(3) remove() 从映射中删除键及其关联值(如果存在)。
(4) forEach() 将for
var details = {'username':'bob','age':'15'}; details['Uid'] = '10068'; var det2 = {'address':'FuZhou','number':'18832344533'}; details.addAll(det2); // 打印结果: {username: bob, age: 15, Uid: 10068, address: FuZhou, number: 18832344533} details.remove('number'); // 打印结果: {username: bob, age: 15, Uid: 10068, address: FuZhou} print(details); details.forEach((k,v){ print('key:'+k+'=='+'value:'+v); }); /* 打印结果 key:username==value:bob key:age==value:15 key:Uid==value:10068 key:address==value:FuZhou */ details.clear(); // 清空映射