主要内容

容器。地图

将唯一键映射到值的对象

描述

一个地图对象是一种数据结构,允许您使用相应的键检索值。键可以是实数或字符向量。因此,它们为数据访问提供了比数组下标更大的灵活性,数组下标必须是正整数。值可以是标量数组或非标量数组。

创建

描述

例子

M =容器。地图(键盘valueSet创建一个地图对象,该对象包含的键键盘,每个映射到对应的值valueSet.输入参数键盘而且valueSet必须有相同数量的元素,与键盘具有独特的元素。

例子

M =容器。地图(键盘valueSet“UniformValues”,isUniform,在那里isUniform中的值valueSet不需要统一。的默认值isUniform真正的.中的值valueSet当它们都是具有相同数据类型的标量时,或者当它们都是字符向量时,它们是一致的。

例子

M =容器。地图(“KeyType”,kTypeValueType”,vType创建一个空地图对象,并指定稍后可向其添加的键和值的数据类型。你可以改变顺序“KeyType”而且“ValueType”名称-值对参数,但两个名称-值对都是必需的。

M =容器。地图创建一个空地图对象。

输入参数

全部展开

键,指定为数值数组、字符向量的单元格数组或字符串数组。

如果使用字符串数组指定键,则容器。地图函数转换键并将它们存储为字符向量。由于这种转换,KeyType输出的属性地图对象设置为“字符”

值,指定为数组。

中均匀值的指示器valueSet,指定为真正的1)或(0)

要添加到空的键的数据类型地图对象,指定为字符向量。你可以指定kType作为表中的任何数据类型,因此键要么是字符向量,要么是数字标量。

kType

键的数据类型和大小

“字符”(默认)

特征向量

“双”

双标量

“单一”

一个标量

“int32”

32位有符号整数标量

“uint32”

32位无符号整数标量

“int64”

64位有符号整数标量

“uint64”

64位无符号整数标量

要添加到空的值的数据类型地图对象,指定为字符向量。你可以指定vType与表中的任何数据类型相同。

vType

值的数据类型和大小

“任何”(默认)

具有任何数据类型的数组

“字符”

特征向量

“逻辑”

逻辑标量

“双”

双标量

“单一”

一个标量

“int8”

8位有符号整数标量

“uint8”

8位无符号整数标量

“int16”

16位有符号整数标量

“uint16”

16位无符号整数标量

“int32”

32位有符号整数标量

“uint32”

32位无符号整数标量

“int64”

64位有符号整数标量

“uint64”

64位无符号整数标量

属性

全部展开

此属性是只读的。

属性中的键-值对个数地图对象,指定为数值标量。

此属性是只读的。

键的数据类型,指定为字符向量。

此属性是只读的。

值的数据类型,指定为字符向量。

对象的功能

isKey 确定地图对象包含键
的返回键地图对象
长度 中的键-值对数目地图对象
删除 删除键值对地图对象
大小 的大小地图对象
返回值为地图对象

例子

全部折叠

创建一个地图对象,该对象包含几个月的降雨数据。中的四个值valueSet,键是其中四个月的名称键盘

keySet = {“1月”2月的“3”4月的};valueSet = [327.2 368.2 197.6 178.4];M = containers.Map(keySet,valueSet)
M =映射属性:计数:4 KeyType: char ValueType: double

显示3月份的降雨量。您可以通过使用检索三月份的值“3”作为钥匙。

米(“3”
Ans = 197.6000

显示映射中值的数量。您可以访问属性使用点表示法。

M.Count
ans =uint644

创建一个地图对象,使用标识号作为键,员工姓名作为值。

id = [437 1089 2362];名称= {“李,N。”“琼斯,R。”“桑切斯,C。”};M = containers.Map(id,names)
M =映射属性:计数:3 KeyType: double ValueType: char

使用标识号作为键检索名称。

米(437)
ans =“李,N。”

创建一个地图对象,该对象包含患者的测试结果。对于任何患者,结果可能在数字数组或文件中。可以将数值数组和文件名作为值存储在同一个映射中。若要在同一映射中存储不具有相同数据类型的值,请指定“UniformValues”,假的

keySet = {“李”“琼斯”“桑切斯”};testLi = [5.8 7.35];testJones = [27 3.92 6.4 8.21];testSanchez =“C: \ \ Sanchez.dat测试”;valueSet = {testLi,testJones,testSanchez};M =容器。地图(键盘,valueSet,“UniformValues”假)
M =映射与属性:计数:3 KeyType:字符ValueType:任何

显示与Li相关的数字数组。

米(“李”
ans =1×25.8000 - 7.3500

显示与Sanchez相关的文件名。如果文件包含数值,则可以调用函数将这些值读入数组。

米(“桑切斯”
ans = 'C:\Tests\Sanchez.dat'

创建一个空的地图对象。指定稍后添加的键-值对的数据类型。

M =容器。地图(“KeyType”“字符”“ValueType”“双”
M =映射属性:计数:0 KeyType: char ValueType: double

向映射中添加键值对。

米(“1月”) = 327.2;米(2月的) = 368.2;米
M =映射属性:计数:2 KeyType: char ValueType: double

显示映射现在包含的键和值。

键(M)
ans =1 x2单元格{' 2月'}{‘简’}
值(米)
ans =1×2单元格数组{[368.2000]} {[327.2000]}

扩展功能

版本历史

在R2008b中引入