Карта является объектом Map
класс. Он определяется в MATLAB® пакет называется containers
. Как и в любом классе, вы используете его функцию конструктора, чтобы создать его любые новые образцы. При вызове конструктора необходимо указать имя пакета:
newMap = containers.Map(optional_keys_and_values)
Когда вы вызываете конструктор Map без входных параметров, 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, смотрите Методы класса 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
The Count
теперь для свойства задано количество пар ключ/значение в Карте, 13
, а KeyType
является char
, и ValueType
является double
.
Можно комбинировать Map
объекты по вертикали с использованием конкатенации. Однако результатом является не вектор Maps, а, скорее, единственная Map
объект, содержащий все пары ключ/значение участвующих Карт. Горизонтальные векторы карт не разрешены. Смотрите карту сборки с конкатенацией, ниже.
containers.Map
| keys
| values