이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

맵의 키와 값 수정하기

참고

맵에 대한 핸들이 두 개 이상 있는 경우 해당 핸들을 수정하면 원래 맵에도 변경 내용이 적용됩니다. 아래의 맵의 복사본 수정하기 항목을 참조하십시오.

맵에서 키와 값 제거하기

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

다음과 같이 A479GY 키의 원래 값을 덮어쓰고 승객의 이름을 Anna Latham으로 변경합니다.

ticketMap('A479GY') = 'Anna Latham';

변경 결과를 확인합니다.

ticketMap('A479GY')

ans =

Anna Latham

키 수정하기

값을 그대로 유지하면서 기존 키를 수정하려면, 먼저 맵에서 키와 해당 키 값을 모두 제거하십시오. 그런 다음 새 항목을 생성합니다. 이번에는 수정된 키 이름을 사용합니다.

다음과 같이 James Enright라는 승객이 소지하는 항공권 번호를 수정합니다.

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은 핸들 객체이기 때문에 맵을 복사할 때 주의해야 합니다. 맵 객체를 복사할 경우 동일한 객체에 대해 실제로 다른 핸들이 생성됩니다. 이 핸들에 대해 수행하는 모든 변경 작업은 원래 맵에도 적용됩니다.

ticketMap 맵을 복사합니다. 이 복사본에 데이터를 쓴 후, 해당 변경 내용이 원래 맵 객체 자체에 적용되는지 확인합니다.

copiedMap = ticketMap;

copiedMap('AZ12345') = 'unidentified person';
ticketMap('AZ12345')

ans =

unidentified person

정리합니다.

remove(ticketMap, 'AZ12345');
clear copiedMap;

참고 항목

| | | | | |

관련 항목