碰撞检测矩阵 - 快速阵列消除和添加

时间:2015-03-30 19:07:45

标签: java

我正在创建一个自定义碰撞检测矩阵。当我的对象属于某个矩阵时,我将它们放在一个类别中,并且只检查该类别中的碰撞。那是因为我创造了数十万个对象。现在我使用两到三个ArrayLists来添加和删除东西。什么是最有效的类用于这种行为

//master object list
//matrix list
//checks all the master object list and if something meets criteria place in the specific matrix list
//remove from matrix list when no longer meets criteria

你可以想象我正在做成千上万的循环,所以数据类型/类允许我快速添加和删除像对象这样的数组中的项目。

1 个答案:

答案 0 :(得分:0)

看起来只是一个简单的LinkedList就足够了。

你只想迭代" master"列表,如果符合标准,则添加到"矩阵"清单?迭代将是O(n)并且添加到链表的末尾是O(1)。

然后,你想要遍历"矩阵"列出并删除任何不符合标准的内容?同样,您可以在O(n)中遍历此列表,并且对于链接列表,删除是O(1)。

当然,如果您不想遍历整个矩阵列表以找到需要删除的矩阵列表,那么您可以根据标准,更新方式等来获得更好的信息。