matlab的map容器类型

本文介绍了MATLAB中map类型的创建、查询、修改和删除操作。通过构造函数可以创建map对象,键可以是多种类型的数据,而值则可以是任意类型。map对象的属性包括Count、KeyType和ValueType。查询数据可使用keys和values函数,修改和删除数据则分别用赋值和remove函数实现。
摘要由CSDN通过智能技术生成

概述

  学过编程代码的人员应该对map容器还是有一定了解的。创建对象,然后进行增删改查。那么matlab的map类型如何创建对象,如何进行增删改查呢?

maltlab的map类型概念

  map的本意是映射,就是可以将一个量映射到另一个量。比如将一个字符串映射为一个数值,则该字符串就是map的键(key),数值就是map的数据(value)。因此,可以将map容器理解为一种快速查找数据结构的键。
对一个map元素进行寻访的索引称为“键”。一个键可以是以下任何一种数据类型:
● 1×N字符串。
● 单精度或双精度实数标量。
● 有符号或无符号标量整数。
  这些键和其对应的数据存储在map中。一个map的每一个条目都包括唯一的键和相对应的数据。map中存储的数据可以是任何类型的,包括数值类型、字符或字符串类型、结构体类型、单元类型或其他map。
  一个map是MATLAB类的一个对象。map类的所有对象具有3种属性,如表2-10所示。用户不能直接对这些属性进行修改,但可以通过作用于map类的函数进行修改。

  • map类的属性
属性说明默认值
Count无符号 64 位整数,表示 map 对象中存储的 key/value 对的总数0
KeyType字符串,表示 map 对象中包括的 key 的类型char
ValueType字符串,表示 map 对象中包括的数据类型any

map类型的操作

对象的创建(增)

  map对象的创建可以通过构造函数来进行创建 containers.Map,创建方式如下:

% 带参数构造对象
mapObj = containers.Map({key1,key2,……},{val1,val2,……})% 空参构造对象
mapObj = containers.Map();
  • 创建对象
>> map = containers.Map()

map = 

  Map - 属性:

        Count: 0
      KeyType: char
    ValueType: any
    
    
>> map2 = containers.Map({'a','b'},{23,'ab'})

map2 = 

  Map - 属性:

        Count: 2
      KeyType: char
    ValueType: any
对象数据的查询(查)

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

>> keys(map2)

ans =

  1×2 cell 数组

    {'a'}    {'b'}

>> values(map2)

ans =

  1×2 cell 数组

    {[23]}    {'ab'}
    
>> values(map2,{'a'})

ans =

  1×1 cell 数组

    {[23]}
  • 查询指定key的value值
>> a=map2('a')

a =

    23
    
>> b=map2('b')

b =

    'ab'
修改添加数据(改)
  • 添加数据
>> map2('c')='ccc'

map2 = 

  Map - 属性:

        Count: 3
      KeyType: char
    ValueType: any

>> keys(map2)

ans =

  1×3 cell 数组

    {'a'}    {'b'}    {'c'}

>> values(map2)

ans =

  1×3 cell 数组

    {[23]}    {'ab'}    {'ccc'}
  • 修改数据
>> map2('c')=123

map2 = 

  Map - 属性:

        Count: 3
      KeyType: char
    ValueType: any

>> values(map2)

ans =

  1×3 cell 数组

    {[23]}    {'ab'}    {[123]}
删除数据(删)

使用 remove(mapObj,key)进行数据的删除

>> remove(map2,'c')

ans = 

  Map - 属性:

        Count: 2
      KeyType: char
    ValueType: any

>> keys(map2)

ans =

  1×2 cell 数组

    {'a'}    {'b'}

>> values(map2)

ans =

  1×2 cell 数组

    {[23]}    {'ab'}
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、付费专栏及课程。

余额充值