请注意
请记住,如果一个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;