Создайте объект Map

Карта является объектом Map класс. Он определяется в MATLAB® пакет называется containers. Как и в любом классе, вы используете его функцию конструктора, чтобы создать его любые новые образцы. При вызове конструктора необходимо указать имя пакета:

newMap = containers.Map(optional_keys_and_values)

Создайте пустой объект Map

Когда вы вызываете конструктор 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

Создайте инициализированный объект 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

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

См. также

| |

Похожие темы