CoderMrWu

生活诚可期,爱情价更高!

Dart 映射

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(); // 清空映射

 

点赞