【发布时间】:2012-03-02 21:50:43
【问题描述】:
假设我想向数组添加一个值,但在哪里并不重要,只要该索引处的当前项为空即可。这个空值可以是数组中的任意位置,随机位置。我只想拥有我的价值 某处在我的数组中。我应该像这样迭代它:
for (int i = 0; i < 64; i++) {
if (items[i] == null) {
items[i] = obj;
return;
}
这样它可能需要遍历很多元素才能找到一个空点。使用另一种类型(即 ArrayList )会更快吗?
这是针对游戏的,因此性能非常关键,每秒可能执行 300 次(还包括访问和删除项目)。那么对于一款游戏来说,我应该最好使用什么来存储物品、进行迭代呢?
【问题讨论】:
-
我不确定您在做什么,但请尝试使用队列或列表
-
如何检索项目?你需要随机访问它们(听起来像)还是你只是迭代它们。您还可以考虑使用 Map 或 Set,具体取决于您访问项目的方式。您是否实际测试过一些标准 Java 集合的性能?在您测量之前,没有必要担心可能会影响性能的因素...
-
我只是迭代它,然后使用它。