MATLAB MAP容器类型

1、map容器类型以及map类概述

        map本意为映射,就是可以将一个量映射到另一个量。比如将一个字符串映射为一个数值,那这个字符串就是map的键(key),那这个值就是map的数据(value)。由此,可以将map容器理解为一种快速查找数据结构的键。

        对一个map元素进行寻访的索引称为“键”。一个“键”可以是以下任何一种数据类型:

        1)1✖N字符串。

        2)单精度或双精度实数标量。

        3)有符号或无符号标量整数。

        这些键和其对应的数据储存在map中。一个map的每一个条目都包括唯一的键和相对应的数据。map中储存的数据可以是任何类型,包括数值类型、字符或字符串类型、结构体类型、单元类型或其他map。

        一个map是MATLAB类的一个对象。map类的所有对象具有3种属性,如下所示。用户不能直接对这些属性进行修改,但可以通过作用于map类的函数进行修改。

map类的属性
属性说明默认值
Count

无符号64位整数,表示map对象中存储的key/value对的总数

0
KeyType字符串,表示map对象中包括key的类型char
ValueType字符串,表示map对象中包括的数据类型any

        map属性的查看方法为map名+小数点“.”+map的属性名。例如,为了查看mapW的对象包括的数据类型,需要使用mapW.ValueType。

2、创建map对象

        map是一个map类的对象,由MATLAB中名为容器的一个包来定义,可以通过构造函数来创建,其创建方法如下:

  mapObj = containers.Map({key1,key2,...},{val1,val2,...})

当键和值是字符串时,需要对上述语法稍做变更,即:

mapObj = containers.Map({'key1','key2',...},{val1.val2,...})

        map的创建可以分为两个步骤:首先创建一个空map对象;然后使用keys和values方法对其内容进行补充,空map对象的创建方法如下:

newMap = containers.Map()

得到结果如下:

newMap = 

  Map - 属性:

        Count: 0
      KeyType: char
    ValueType: any

3、查看/读取map对象

        1)查看map对象

        map对象中的每个条目包括两部分:一个唯一的键及其对应的值。可以通过使用keys函数查看map对象中包含的所有键;通过values函数查看所有的值。

        2)读取map对象

        当创建好一个map对象后,用户可以对其进行数据的寻访,寻访指定键(keyName)所对应的值(valueName)使用格式如下:

valueName = mapName(keyName)

当键名是一个字符串时,需要使用单引号将键名括起来。

        注:对多个键进行访问时,不能像其他数据类型中那样使用“:”,这将导致错误的产生。

4、编译map对象

        1)从map对象中删除keys/values对。

        用户可以从remove函数从map对象中删除keys/value对。该函数格式为:

remove ('mapName','keyName')

        式中,mapName和keyName分别为map的对象名称及需要删除的键名。执行该命令后,MATLAB系统删除指定的键名及其对应的值。

        2)添加keys/values对象

        当用户向一个map对象中写入新元素的值时吗,需要提供键名,而且该键的类型必须和map中的其他键一致。该操作的调用格式为:

existingMapObj(newKeyName) = newValue

        3)修改keys

        如果需要保持值不变的情况下对键名进行更改,首先要删除键名和对应的值,然后添加一个有正确键名的新条目。

        4)修改values

        通过赋值操作,覆盖原有的值,即可对map对象中的值进行修改。

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab中,可以使用`containers.Map`类创建一个map对象。map对象可以用来将一个键(key)映射到一个数据(value)。map中的键和对应的数据都存储在map对象中。 下面是创建map对象的示例代码: ```MATLAB mapObj = containers.Map; ``` 要往map对象中添加键值对,可以使用`mapObj(key) = value`的语法,其中key是键,value是数据。例如: ```MATLAB mapObj('a') = 1; mapObj('b') = 2; ``` 要访问map对象中的数据,可以使用`mapObj(key)`的语法。例如: ```MATLAB value = mapObj('a'); ``` 要删除map对象中的数据,可以使用`remove(mapObj, key)`的语法。例如: ```MATLAB remove(mapObj, 'a'); ``` 要获取map对象中所有的键,可以使用`keys(mapObj)`的语法。例如: ```MATLAB keysArray = keys(mapObj); ``` 要获取map对象中所有的值,可以使用`values(mapObj)`的语法。例如: ```MATLAB valuesArray = values(mapObj); ``` 请注意,map对象中的键和值可以是不同的数据类型,可以是任何类型的数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [matlabmap容器类型](https://blog.csdn.net/Lou_Lan/article/details/131231055)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [matlab map容器类型](https://blog.csdn.net/qq_45988416/article/details/112789250)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值