乍看之下,像在MathWorks上的示例中一样使用Maps
(见下文)似乎很有用。但是再三考虑,它们是一个容器结构,就像Matlab的struct
变量类型一样。我是Maps
的新手,却没有何时使用它们而不是structs
的优势-将问题分解为一些可测量的参数:在某些用例中使用{{1} }与Maps
相比更快,并且使用更少的代码行?
来自MathWorks文档,例如:
structs
与结构类似的东西
months = {'Jan','Feb','Mar','Apr'};
rainfall = [327.2 368.2 197.6 178.4];
M = containers.Map(months,rainfall)
答案 0 :(得分:2)
容器映射或多或少是具有自定义索引的结构。例如,当您更喜欢通过某个char
而不是索引来引用条目时,可以使用它们。假设您想回想3月的降雨量。
%Declaration map, as you wrote
months = {'Jan','Feb','Mar','Apr'};
rainfall = [327.2 368.2 197.6 178.4];
M = containers.Map(months,rainfall);
M('Mar') % 197.6
如您所见,您不仅保存了变量,还保存了引用(作为字符,不是典型的方式...)。对于大量数据,您不应该使用地图。因此,当您特别需要其余的char
引用和结构时,我建议您使用地图。
该映射是(...)字典,映射x-> y对x和y无任何限制。结构是一种数据结构,一种以逻辑方式保存数据的方式。 - @hbaderts
提醒一下,如果可以使用向量代替结构,则一定可以!
您将在this question上找到有关地图的其他有价值的信息。