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]} >>

matlab map容器类型的更多相关文章

  1. STL --> map容器

    map容器 一.map简介 map是一类关联式容器.它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响.对于迭代器来说,可以修改实值,而不能修改key. 二.ma ...

  2. c++ STL map容器成员函数

    map容器用于查找,设置键值和元素值,输入键值,就能得到元素值.map对象中的元素时刻都是有序的,除非无序插入的.它是用平衡树创建的.查找很快. 函数 描述,注意有r的地方都是不能用it代替的. ma ...

  3. C++进阶 STL(2) 第二天 一元/二元函数对象、一元/二元谓词、stack容器、queue容器、list容器(双向链表)、set容器、对组、map容器

    01 上次课程回顾 昨天讲了三个容器 string  string是对char*进行的封装 vector 单口容器 动态数组 deque(双端队列) 函数对象/谓词: 一元函数对象: for_each ...

  4. HandlerMethodArgumentResolver(二):Map参数类型和固定参数类型【享学Spring MVC】

    每篇一句 黄金的导电性最好,为什么电脑主板还是要用铜? 飞机最快,为什么还有人做火车? 清华大学最好,为什么还有人去普通学校? 因为资源都是有限的,我们现实生活中必须兼顾成本与产出的平衡 前言 上文 ...

  5. 详解C++ STL map 容器

    详解C++ STL map 容器 本篇随笔简单讲解一下\(C++STL\)中的\(map\)容器的使用方法和使用技巧. map容器的概念 \(map\)的英语释义是"地图",但\( ...

  6. c++ map容器使用及问题

    C++ STL库map容器一些总结,欢迎大家指正补充. map容器由两部分组成,分别为关键字(Key)和值(Value),关键字和值都可以声明为任意类型的数据,注意:关键字唯一,不能重复!使用需包含头 ...

  7. C++ STL 中 map 容器

    C++ STL 中 map 容器 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它 ...

  8. map 容器的使用

    C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值. 一.map的说明    1   头文件   #include   <map> ...

  9. 一种map容器遍历的方法

    遍历算法是一种很常见而且非常重要的算法,我们用map容器的时候可能用的比较多的是查找,我今天才第一次要用到遍历.下面举个例子就知道了. map<string,string> mp; str ...

随机推荐

  1. JSON的stringify和parse方法

    一.JSON.parse() 方法用于将一个 JSON 字符串转换为对象. 以下代码为将字符串解析为对象,然后再赋值给对象 //页面初始化完成加载,option是传递的参数 onLoad: funct ...

  2. LiteOS:SpinLock自旋锁及LockDep死锁检测

    摘要:除了多核的自旋锁机制,本文会介绍下LiteOS 5.0引入的LockDep死锁检测特性. 2020年12月发布的LiteOS 5.0推出了全新的内核,支持SMP多核调度功能.想学习SMP多核调度 ...

  3. JUC-ThreadLocal

    目录 ThreadLocal ThreadLocal测试 ThreadLocal类结构 前言 多线程访问同一个共享变量的时候也别容易出现并发问题,特别是在多线程需要对一个共享变量进行写入的时候.为了保 ...

  4. Flask:处理Web表单

    尽管 Flask 的请求对象提供的信息足以处理 Web 表单,但有些任务很单调,而且要重复操作.比如,生成表单的 HTML 代码和验证提交的表单数据.Flask-WTF 扩展可以把处理 Web 表单的 ...

  5. 【老孟Flutter】Flutter 2.0 重磅更新

    老孟导读:昨天期待已久的 Flutter 2.0 终于发布了,Web 端终于提正了,春季期间我发布的一篇文章,其中的一个预测就是 Web 正式发布,已经实现了,还有一个预测是:2021年将是 Flut ...

  6. 盘点Excel中的那些有趣的“bug”

    本文由葡萄城技术团队原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. Excel 1.0早在1985年正式进入市场,距今已经有36年了,虽然在推出 ...

  7. Flutter Web 支持现已进入稳定版

    作者 / Mariam Hasnany, Product Manager, Flutter 我们对 Flutter 的愿景是成为一个可移植的 UI 框架,在全平台上构建精美的应用体验.做为 Flutt ...

  8. synchronized中锁是怎么升级的

    在JDK1.6以前,使用synchronized就只有一种方式即重量级锁,而在JDK1.6以后,引入了偏向锁,轻量级锁,重量级锁,来减少竞争带来的上下文切换. 锁升级主要依赖对象头中的Mark Wor ...

  9. Navicat 121版本激活工具

    以下是工具的链接: https://github.com/DoubleLabyrinth/navicat-keygen/blob/windows/README_FOR_WINDOWS.zh-CN.md ...

  10. Windows下的Linux子系统

    强调!!!必须是Windows专业版!!! 一.安装运行过程 第一步:打开开发人员模式 第二步:进入 '控制面板 '--'程序'--'启用的Windows功能'--勾选Linux子系统(根据提示进行重 ...