matlab map容器类型

matlab map容器类型

  1. 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
    
  2. 创建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对象
    
  3. 查看/读取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]}
      
      >> 
      
  4. 编辑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]}
      
      >> 
      
  • 8
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 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
发出的红包

打赏作者

就很好(*^_^*)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值