libgdx用于游戏对象的大清单的最佳方法

时间:2015-07-18 16:09:31

标签: list optimization collections libgdx

我正在计划一个游戏,我将有数百个游戏对象应按特定顺序绘制,并且每个游戏对象都能够生成应保留在其父对象位置的对象(如果父对象是在中间画出,也应该画在那里)。

所以我需要能够快速执行以下操作的列表: add(),insertAt(pos),remove(pos),get(pos)

我已经分析了一些数据并得出以下结论:

我将使用无序数组的libgdx存储对象,其中包含:

add() - O(1)

remove(pos) - O(2),因为它使用交换技术并在最后删除最后一个元素

插入(pos) - O(2)出于同样的原因

get() - O(1)

我还将使用LinkedList来保持顺序以及对无序数组的引用,因此我可以快速地在中间添加对象。

我想问这是最好的方法,还是我错过了什么?

0 个答案:

没有答案