我想将对象集合存储在具有键对象对的关联数组中。目标是以后能够使用密钥查找对象。
我希望我应该能够为此使用 containers.map 内置类。我编写了以下示例代码来说明我的意思:
classdef clsMyClass < handle
properties
dblMyProperty1
end
methods
function self = clsMyClass(dblValue)
if nargin > 0
for intCounter = numel(dblValue):-1:1
self(intCounter).dblMyProperty1 = dblValue(intCounter);
end
end
end
end
end
classdef clsMyClassCollection < handle
properties
contMyCollection
end
methods
function self = clsMyClassCollection(strValues,strKeys)
if nargin > 0
self.contMyCollection= containers.Map(strKeys, clsMyClass(strValues));
end
end
end
end
for i=10:-1:1 ; vecKeys{i} = ['A' num2str(i)];end;
objMyClassCollection = clsMyClassCollection ([0:10:90],vecKeys);
这将导致以下错误:
??? Error using ==> containers.Map
The values must be a cell array when the keys are a cell array.
如果我能在修复此错误方面获得一些帮助,并且您能告诉我这是否是实现关键对象集合的最佳方式,那就太好了。