Map
初始
key value 形式的集合,也叫键值对。
var a = {'name': 'ducafecat', 'web': 'www.ducafecat.tech'};
print(a);
{name: ducafecat, web: www.ducafecat.tech}
声明
松散
var a = Map();
a['name'] = 'ducafecat';
a['web'] = 'www.ducafecat.tech';
a[0] = 'abc';
a[0] = '1231231';
print(a);
{name: ducafecat, web: www.ducafecat.tech, 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': 'ducafecat', 'web': 'www.ducafecat.tech'};
print(a.isEmpty);
print(a.isNotEmpty);
print(a.keys);
print(a.values);
print(a.length);
print(a.entries);
false
true
(name, web)
(ducafecat, www.ducafecat.tech)
2
(MapEntry(name: ducafecat), MapEntry(web: www.ducafecat.tech))
常用方法
名称 | 说明 |
---|---|
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.ducafecat.tech'));
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';