修改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;