map容器类型以及map类概述
map是将一个量映射到另一个量上,此是前面的量就是map的键(key),后面的量就是map的数据(value)。map的键和对应的数据都储存在map中。一个map条目包括唯一的键和对应的数据。map容器可以理解为一种快速查找数据结构的键。
可以当作map的键的数据类型:
map类的三个属性:
属性 | 说明 | 默认值 |
---|---|---|
Count | 无符号64位整数,表示map对象中存储的key/value对的总数 | 0 |
КеyТype | 字符串,表示map对象中包括的key的类型 | char |
ValueType | 字符串,表示map对象中包括的数据类型 | any |
map属性的查看方法:
map名+小数点“.”+map的属性名
例如:
mapW.ValueType
创建map对象
创建方法:
mapObj=containers.Map({key1,key2,...},{val1,val2,...})
% 若键和值为字符串时
mapObj=containers.Map({‘key1‘,‘key2‘,...},{‘val1‘,‘val2‘,...})
样例:
>> A=containers.Map({‘A‘,‘B‘,‘C‘},{95,85,75})
A =
Map - 属性:
Count: 3
KeyType: char
ValueType: double
>>
其他方法:先创建一个空的map对象,然后使用keys和values方法对其内容及进行补充。
newmap=containers.Map() % 创建一个空的map对象
查看/读取map对象
查看命令
keys(mapObj)
values(mapObj)
样例:
>> keys(A)
ans =
1×3 cell 数组
{‘A‘} {‘B‘} {‘C‘}
>> values(A)
ans =
1×3 cell 数组
{[95]} {[85]} {[75]}
>>
读取map对象
知道map的键读取对应的值
valueName=mapName(keyName)
样例:
>> c=A(‘B‘) % 读取一个值
c =
85
>>
知道多个键值读取方法:使用函数values
values(mapObj,{‘keyi‘,‘keyj‘,...})
样例:
>> d=values(A,{‘A‘,‘C‘})
d =
1×2 cell 数组
{[95]} {[75]}
>>
编辑map对象
删除map对象中的key/values对:使用remove函数。
remove(‘mapname‘,‘keyname‘)
>> remove(A,‘C‘)
ans =
Map - 属性:
Count: 2
KeyType: char
ValueType: double
>> keys(A)
ans =
1×2 cell 数组
{‘A‘} {‘B‘}
>> values(A)
ans =
1×2 cell 数组
{[95]} {[85]}
>>
为map对象添加一个元素
existingMapObj(newkeyname)=newvalue
>> A(‘D‘)=88
A =
Map - 属性:
Count: 3
KeyType: char
ValueType: double
>> keys(A)
ans =
1×3 cell 数组
{‘A‘} {‘B‘} {‘D‘}
>> values(A)
ans =
1×3 cell 数组
{[95]} {[85]} {[88]}
>>
修改keys
无法直接对keys进行修改,应当先删除要修改的key/values对,然后重新添加一个新的正确的。
修改values
直接进行赋值操作即可
>> A(‘D‘)=100
A =
Map - 属性:
Count: 3
KeyType: char
ValueType: double
>> keys(A)
ans =
1×3 cell 数组
{‘A‘} {‘B‘} {‘D‘}
>> values(A)
ans =
1×3 cell 数组
{[95]} {[85]} {[100]}
>>
原文:https://www.cnblogs.com/3236676588buladuo/p/14350268.html