主要内容

修改Map中的键和值

请注意

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

从Map中移除键和值

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

remove方法的语法是

remove (mapName keyname);

从地图开始ticketMap

ticketMap = containers.Map(…{' 2r175 ', ' b7398 ', ' a479gy ', ' nz1452 '},…{“詹姆斯·恩莱特”,“卡尔·海恩斯”,“莎拉·莱瑟姆”,……布拉德利•里德的});

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

remove (ticketMap NZ1452);values(ticketMap) ans =“詹姆斯·恩莱特”“莎拉·莱瑟姆”“卡尔·海恩斯”

修改值

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

ticketMap('A479GY') ans =莎拉·莱瑟姆

把乘客的名字改成安娜·莱瑟姆方法的初始值A479GY关键:

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

验证更改:

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

修改键

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

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

remove (ticketMap ' 2 r175 ');ticketMap('2S185') = 'James Enright';k = keys(ticketMap);v = values(ticketMap);Str1 = ''%s''已被分配一个新的\n';Str2 = '票号:%s.\n';Fprintf (str2, k{1})“James Enright”已经被分配了一个新的票号:2S185。

修改地图副本

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

复制一份ticketMap地图。写入此副本,并注意到更改应用于原始Map对象本身:

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

清理:

remove (ticketMap AZ12345);清楚copiedMap;

另请参阅

||||||

相关的话题