放空表格是否明智?

注意:可能难以理解

假设我有一个需要保存与另一个持有对象的表格相对应的索引的表格。为了讨论这个问题,我将把这些索引称为“idxs”。我希望它既可以快速地删除特定的idx,又可以快速地循环遍历所有的idx。 我希望这能够尽可能快地进行,并且我有一些选择:

注:我认为最多可能有500至3000个对象,这意味着最多有那么多个idx来引用它们。但是,我的表格中可能不会存储超过200个idx。

1.我可以通过将它们推到表格的末尾来存储每个idx,这使得循环遍历它们非常容易,但是在删除它们时会有一个问题,因为我必须通过表格循环查找正确的idx,然后将其删除。

2.我可以将表格制作成一种集合,如此描述(在Lua列表中搜索项目),这样删除idx会非常快,但是循环遍历它们不太快,因为我可能需要循环遍历表格中所有的空间间隔,这可能长达数千个。此外,我实际上将有很多这样的表格来保存idx,因此我认为不应该有那么多长度为idx的表格。

也许有第三种或更多的解决方案,但我不确定。在这种情况下,最好的做法是什么?或者这是一个我应该彻底重新设计我的程序的迹象吗?

作为第二个注意事项,我想提到的是,每帧删除idx的次数可能比需要循环遍历它们的次数更多。

如果需要更多上下文,我可以提供。

点赞