0

我有一个 type 数组Cell。这是一个二维数组。根据某些条件,我可能必须调整此数组的大小并将Cell对象向下/向右/向左移动一行或一列。

我正在考虑使用原型模式将原始数组复制到另一个更大的数组中。

与简单地调整数组大小相比,这是否提供更多好处?

编辑:我意识到我没有提到我的意图。我真的不需要另一个对象。我只想要一个基于某些条件的更大的数组。

4

2 回答 2

1

这可能会有所帮助的唯一原因是如果您正在制作拷贝:复制将节省您创建新对象的成本。它的另一面是Cell数组内的所有对象都将在多个二维数组之间共享;如果这出现问题,您应该从头开始创建数组。

于 2013-01-23T13:49:43.150 回答
1

简短的回答没有。

有一种替代解决方案可以在不需要原型的情况下解决您的问题。

不要将单元格存储在数组中。单元格不知道它们的行号和列号,而是询问行/列。这允许重新排列列,而不必更新每个项目。

有一个表示数组的容器对象,并且可以返回给定 (x,y) 坐标处的单元格。如果数组是稀疏的(或者如果它具有合理的默认值),则将丢失的单元格视为默认值。这将大大降低存储成本。列和行属于容器。添加空行或空列现在变成插入行或列对象的情况。

于 2013-01-23T14:10:31.543 回答