% a map is an instance of a Map class % creates an empty map emptyMap = containers.Map; % .Count: total number of key/value pairs assert(emptyMap.Count == 0); % .KeyType: class of the key value % by default set to 'char' assert(isequal(emptyMap.KeyType, 'char')); % .ValueType: class of the values % by default set to 'any' assert(isequal(emptyMap.ValueType, 'any')); % create initalized map % note: keys can only be % - integers scalars % - 1xN char arrays % - double or single scalars pairs = containers.Map({'Name', 'Msg'}, {"Enrico", "Hello"}); assert(pairs.Count == 2); assert(isequal(pairs.KeyType, 'char')); assert(isequal(pairs.ValueType, 'any')); % this didn't change % size(map, 1) is equivalent to .Count assert(pairs.Count == size(pairs, 1)); % size(map, 2) = size(map, 3) = ... = 1 (map is sort of nx1) assert(size(pairs, 23) == 1); % size(map) returns [map.Count 1] assert(isequal( size(pairs), [pairs.Count 1] )); % keys() returns the sorted keys as a cell array assert(isequal( keys(pairs) , sort({'Name', 'Msg'}))); % values() returns the map values, sorted as the corresponding keys assert(isequal( values(pairs), {"Hello", "Enrico"} )); % index map by key assert(isequal( pairs('Msg'), "Hello" )); % change a value pairs('Msg') = "World"; % check for key existence assert(isequal(pairs.isKey('Msg'), true)); assert(isequal(pairs.isKey('Test'), false));