初始
key value 形式的集合,也叫键值对。
var a = {'name': 'baidu', 'web': 'www.baidu.com'};
print(a);
{name: baidu, web: www.baidu.com}
声明
松散
var a = Map();
a['name'] = 'baidu';
a['web'] = 'www.baidu.com';
a[0] = 'abc';
a[0] = '1231231';
print(a);
{name: baidu, web: www.baidu.com, 0: 1231231}
key 相同,覆盖数据
强类型
var a = Map<int, String>();
a[0] = 'java';
a[1] = 'python';
print(a);
{0: java, 1: python}
基本属性
| 名称 | 说明 |
|---|---|
| isEmpty | 是否为空 |
| isNotEmpty | 是否不为空 |
| keys | key 集合 |
| values | values 集合 |
| length | 个数 |
| entries | 加工数据入口 |
var a = {'name': 'baidu', 'web': 'www.baidu.com'};
print(a.isEmpty);
print(a.isNotEmpty);
print(a.keys);
print(a.values);
print(a.length);
print(a.entries);
false
true
(name, web)
(baidu, www.baidu.com)
2
(MapEntry(name: baidu), MapEntry(web: www.baidu.com))
常用方法
| 名称 | 说明 |
|---|---|
| addAll | 添加 |
| addEntries | 从入口添加 |
| containsKey | 按 key 查询 |
| containsValue | 按 value 查询 |
| clear | 清空 |
| remove | 删除某个 |
| removeWhere | 按条件删除 |
| update | 更新某个 |
| updateAll | 按条件更新 |
addAll
新增 kv 数据
b.addAll({'first': 'java', 'second': 'python'});
addEntries
接入另一个 map 集合
b.addEntries(a.entries);
containsKey
检查 key 是否存在
print(a.containsKey('name'));
containsValue
检查 value 是否存在
print(a.containsValue('www.baidu.com'));
clear
清空数据
b.clear();
remove
删除数据
a.remove('name');
removeWhere
按条件删除
a.removeWhere((key,val) => key == 'name');
update
更新数据
a.update('name', (val) => 'abc');
updateAll
更新批量
a.updateAll((key, val) => "---$val---");
操作符
| 名称 | 说明 |
|---|---|
| [] | 取值 |
| []= | 赋值 |
print(a['name']);
a['name'] = 'abc';