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

Карта является объектом 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 ischar, и ValueType double.

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

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

Смотрите также

| |

Похожие темы