【发布时间】:2010-11-28 13:45:41
【问题描述】:
我在 Java 中有一个 10x10 数组,数组中的一些项没有使用,我需要遍历所有元素作为方法的一部分。什么会更好:
-
遍历所有带有 2 个 for 循环的元素并检查 nulltype 以避免错误,例如
for(int y=0;y<10;y++){ for(int x=0;x<10;x++){ if(array[x][y]!=null) //perform task here } } 还是保留所有已使用地址的列表会更好...比如说点数组列表?
我没有提到的不同。
我期待任何答案:)
【问题讨论】:
-
视情况而定。但最好把你的 for 循环反过来。
-
最好让循环反过来?不确定它们是否相同大小有什么区别。另外,忘了说,我是在安卓平台上开发的。
-
developer.android.com/guide/practices/design/… 从性能方面看,最好将所有内容提取到局部变量中,避免查找。
-
@Dawson:根据编译器和 CPU,您可能会通过切换循环顺序获得巨大的性能提升。见lbrandy.com/blog/2009/03/more-cache-craziness。
-
我认为 ArrayList 中的查找比空指针检查的成本更高,因为分支预测器与 if 语句配合得更好。如果数组大小是固定的,那么 JIT 可能会展开循环。
标签: java android arrays optimization