Карта является объектом класса Map
. Это задано в пакете MATLAB® под названием containers
. Как с любым классом, вы используете его функцию конструктора, чтобы создать любые новые экземпляры его. Необходимо включать имя пакета при вызове конструктора:
newMap = containers.Map(optional_keys_and_values)
Когда вы вызываете конструктора Карты без входных параметров, MATLAB создает пустой объект Map
. Когда вы не заканчиваете команду точкой с запятой, MATLAB отображает следующую информацию об объекте, который вы создали:
newMap = containers.Map newMap = Map with properties: Count: 0 KeyType: char ValueType: any
Свойства пустого объекта Map
установлены в свои значения по умолчанию:
Count
= 0
KeyType
= 'char'
ValueType
= 'any'
Если вы создаете пустой объект Map, можно использовать keys
и методы values
, чтобы заполнить его. Для сводных данных функций MATLAB можно использовать с объектом Map, видеть Методы Класса сопоставления
Наиболее часто вы захотите инициализировать Карту с, по крайней мере, некоторыми ключами и значениями в то время, когда вы создаете ее. Можно ввести один или несколько наборов ключей и значений с помощью синтаксиса, показанного здесь. Операторы фигурной скобки ({}
) не требуются, если вы вводите только одну пару ключ/значение:
mapObj = containers.Map({key1, key2, ...}, {val1, val2, ...});
Для тех ключей и значений, которые являются векторами символов, быть уверенными, что вы задаете их заключенный в одинарных кавычках. Например, при построении Карты, которая имеет векторы символов как ключи, использовать
mapObj = containers.Map(... {'keystr1', 'keystr2', ...}, {val1, val2, ...});
Как пример построения инициализированного объекта Map
, создайте новую Карту для следующих пар ключ/значение, взятых из ежемесячной карты ливня, показанной ранее в этом разделе.
k = {'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', ... 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'Annual'}; v = {327.2, 368.2, 197.6, 178.4, 100.0, 69.9, ... 32.3, 37.3, 19.0, 37.0, 73.2, 110.9, 1551.0}; rainfallMap = containers.Map(k, v) rainfallMap = Map with properties: Count: 13 KeyType: char ValueType: double
Свойство Count
теперь установлено в количество пар ключ/значение в Карте, 13
, KeyType
является char
, и ValueType
является double
.
Можно объединить объекты Map
вертикально с помощью конкатенации. Однако результатом не является вектор Карт, а скорее один объект Map
, содержащий все пары ключ/значение способствующих Карт. Горизонтальные векторы Карт не позволены. См. Карту Сборки с Конкатенацией, ниже.
containers.Map
| keys
| values