Примечание
Помните, что при наличии нескольких дескрипторов карты изменение маркера также вносит изменения в исходную карту. См. раздел Изменение копии карты ниже.
Используйте remove для удаления любых записей из карты. При вызове этого метода укажите Map имя объекта и имя удаляемого ключа. MATLAB ® удаляет ключ и связанное с ним значение из карты.
Синтаксис метода удаления:
remove(mapName, 'keyname');
Начните с карты ticketMap :
ticketMap = containers.Map(...
{'2R175', 'B7398', 'A479GY', 'NZ1452'}, ...
{'James Enright', 'Carl Haynes', 'Sarah Latham', ...
'Bradley Reid'});
Удалите одну запись (указанный ключ и его значение) из Map объект:
remove(ticketMap, 'NZ1452');
values(ticketMap)
ans =
'James Enright' 'Sarah Latham' 'Carl Haynes'Можно изменить любое значение на карте, просто перезаписав текущее значение. Билет на удержание пассажиров A479GY идентифицируется как Sarah Latham:
ticketMap('A479GY')
ans =
Sarah LathamИзмените имя пассажира на Anna Latham путем перезаписи исходного значения для A479GY ключ:
ticketMap('A479GY') = 'Anna Latham';
Проверьте изменение:
ticketMap('A479GY')
ans =
Anna LathamДля изменения существующего ключа при сохранении значения сначала удалите ключ и его значение из карты. Затем создайте новую запись, на этот раз с исправленным именем ключа.
Измените номер билета, принадлежащего пассажиру Джеймсу Энрайту:
remove(ticketMap, '2R175');
ticketMap('2S185') = 'James Enright';
k = keys(ticketMap); v = values(ticketMap);
str1 = ' ''%s'' has been assigned a new\n';
str2 = ' ticket number: %s.\n';
fprintf(str1, v{1})
fprintf(str2, k{1})
'James Enright' has been assigned a new
ticket number: 2S185.
Поскольку ticketMap является объектом-дескриптором, необходимо соблюдать осторожность при создании копий карты. Помните, что, копируя объект Map, вы просто создаете другой дескриптор для того же объекта. Любые изменения, внесенные в этот дескриптор, также применяются к исходной карте.
Сделайте копию ticketMap Карта. Запишите в эту копию и обратите внимание, что изменение применяется к исходному объекту Map:
copiedMap = ticketMap;
copiedMap('AZ12345') = 'unidentified person';
ticketMap('AZ12345')
ans =
unidentified person
Очистить:
remove(ticketMap, 'AZ12345'); clear copiedMap;
containers.Map | isKey | keys | length | remove | size | values