主要内容

修改Map中的键和值

请注意

请记住,如果一个Map有多个句柄,修改句柄也会对原始Map进行更改。看到修改地图副本,下面。

从Map中删除键和值

使用删除方法来删除Map中的任何条目。调用此方法时,指定地图对象名称和要删除的键名。MATLAB®从Map中删除键及其关联值。

remove方法的语法是

remove (mapName keyname);

从地图开始ticketMap

ticketMap = containers.Map(…{' 2r175 ', ' b7398 ', ' a479gy ', ' nz1452 '},…{'James Enright', 'Carl Haynes', 'Sarah Latham',…布拉德利•里德的});

属性中删除一个条目(指定的键及其值)地图对象:

remove (ticketMap NZ1452);values(ticketMap) ans = 'James Enright' 'Sarah Latham' 'Carl Haynes'

修改值

您可以简单地通过重写当前值来修改Map中的任何值。持票旅客A479GY被确定为莎拉·莱瑟姆

ticketMap('A479GY') ans = Sarah Latham

把乘客的名字改为安娜·莱瑟姆的原始值A479GY关键:

ticketMap('A479GY') = '安娜·莱瑟姆';

验证变化:

ticketMap('A479GY') ans = Anna Latham

修改键

要在保持值不变的情况下修改现有的键,首先从Map中删除该键及其值。然后创建一个新条目,这次使用正确的键名。

修改乘客James Enright的客票号码:

remove (ticketMap ' 2 r175 ');ticketMap('2S185') = '詹姆斯·恩赖特';k =键(ticketMap);v =值(ticketMap);Str1 = '' " %s "已被分配一个新的\n';Str2 = '票号:%s.\n';Fprintf (str1, v{1})“詹姆斯·恩赖特”被分配了一个新号码:2S185。

修改地图副本

因为ticketMap是一个句柄对象,在复制Map时需要小心。请记住,通过复制Map对象,实际上只是创建了同一个对象的另一个句柄。对这个句柄所做的任何更改也会应用到原始Map。

复印一份ticketMap地图。写入这个副本,注意更改被应用到原始Map对象本身:

copiedMap = ticketMap;copyedmap ('AZ12345') = '身份不明的人';ticketMap('AZ12345') ans =身份不明的人

清理:

remove (ticketMap AZ12345);清楚copiedMap;

另请参阅

||||||

相关的话题