版权声明:本文为博主原创文章,未经博主允许不得转载。
matlab中的containers.Map()有点类似于C++ STL中的map容器,具有key/value映射的功能。
一、新建变量
使用containers.Map()创建一个变量并初始化:
- % matlab
- num = containers.Map({1, 2, 3}, {'one', 'two', 'three'})
二、查看修改内容
查看num的内容:
num =
Map (带属性):
Count: 3
KeyType: double
ValueType: char
查看num(1)的值
- % matlab
- num(1)
ans =
one
修改num(1)的值
- % matlab
- num(1) = 'ONE'
然后再查看num(1)的值
- % matlab
- num(1)
ans =
ONE
三、添加元素
添加元素
- % matlab
- num(4) = 'four'
然后再查看num(4)的值
- % matlab
- num(4)
ans =
four
查看num的keys值:
- % matlab
- keys(num)
输出:
ans =
[1] [2] [3] [4]
查看num的values值:
- % matlab
- values(num)
输出:
ans =
'ONE' 'two' 'three' 'four'
查看num的size
- % matlab
- size(num)
输出:
ans =
4 1
四、垂直串联
新建containers.Map()的第二个变量num2
- % matlab
- num2 = containers.Map({10, 20}, {'ten', 'twenty'})
垂直串联num和num2,containers.Map()支持垂直串联,不支持水平串联。
- % matlab
- nummerge = [num; num2]
查看nummerge的keys:
- % matlab
- keys(nummerge)
输出:
ans =
[1] [2] [3] [4] [10] [20]
查看nummerge的values:
- % matlab
- keys(nummerge)
输出:
ans =
'ONE' 'two' 'three' 'four' 'ten' 'twenty'
五、删除元素
从nummerge中删除1及其对应的‘ONE’
- % matlab
- remove(nummerge, 1)
查看nummerge的keys:
- % matlab
- keys(nummerge)
输出:
ans =
[2] [3] [4] [10] [20]
查看nummerge的values:
- % matlab
- keys(nummerge)
输出:
ans =
'two' 'three' 'four' 'ten' 'twenty'
同时删除多个元素
- remove(nummerge, {2, 3})
查看nummerge的keys:
- % matlab
- keys(nummerge)
输出:
ans =
[4] [10] [20]
查看nummerge的values:
- % matlab
- keys(nummerge)
输出:ans =
'four' 'ten' 'twenty'