[Machine-Learning] 熟悉 Matlab 中的 map

时间:2022-01-31 22:42:17

概述

map 的意思是映射,即将一个变量映射到另一个变量。

比如将一个字符串映射为一个数值,那个字符串就是map 的键值(key),数值就是map的数据(value)。

由此可以把map理解为一个哈希表。

应用于map 的键值可以是下面任意一种数据类型:

  • 1 * N 的字符串
  • 单精度或者双精度的实数
  • 有符号或者无符号的整形数

可以看出,矩阵不能作为键值

而map的键值可以存储的数据是任意类型的,包括数值、字符串、单元类型等。

map 的属性

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

后面我们会在解释器中看这几个属性是怎么回事。

创建map对象

map 是 map 类中的对象,由一个containers包来定义,可以通过构造函数来实现:

[Machine-Learning] 熟悉 Matlab 中的 map

上面是一个直接的的创建方法,map对象的创建过程可以分为:

  1. 创建一个空map对象
  2. 使用 keys 和 values 方法对其进行内容填充

使用下面的代码创建一个空map:

[Machine-Learning] 熟悉 Matlab 中的 map

读取 map 对象

使用 keysmaps 函数可以查看 map 对象的内容:

[Machine-Learning] 熟悉 Matlab 中的 map

使用 () 实现 通过键值访问数值功能,这个是核心功能:

[Machine-Learning] 熟悉 Matlab 中的 map

修改 map 对象

删除

使用 remove 函数 删除 键-值 对

[Machine-Learning] 熟悉 Matlab 中的 map

修改

使用 () 操作直接修改即可:

[Machine-Learning] 熟悉 Matlab 中的 map

添加

和修改一样,使用 () 操作:

[Machine-Learning] 熟悉 Matlab 中的 map