exponenta event banner

Создать объект карты

Карта является объектом 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

Count теперь для свойства установлено число пар ключ/значение в карте, 13, KeyType является char, и ValueType является double.

Объединение объектов карты

Можно комбинировать Map объектов по вертикали с использованием конкатенации. Однако результатом является не вектор Карт, а скорее одиночка Map объект, содержащий все пары ключ/значение вносящих карт. Горизонтальные векторы карт не допускаются. См. ниже «Карта построения с конкатенацией».

См. также

| |

Связанные темы