matlab map容器类型
matlab map容器类型
-
map容器类型以及map类概述
map是将一个量映射到另一个量上,此是前面的量就是map的键(key),后面的量就是map的数据(value)。map的键和对应的数据都储存在map中。一个map条目包括唯一的键和对应的数据。map容器可以理解为一种快速查找数据结构的键。
可以当作map的键的数据类型:
- 1 X N字符串
- 单精度或双精度实数标量
- 有符号或无符号标量
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]} >>
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)