Speed of iterating through 1-dimensional vs 2-dimensional arrays
我读了一篇文章,介绍了由于数据的存储方式,在水平方向上迭代二维数组比垂直方向上更快(参见:在二维数组中循环的最快方法?)当我读到答案的时候,这是有意义的,但它让我想知道二维和一维数组之间的区别是什么。使用相同数量的单元格迭代一维数组与二维数组时,是否存在速度差异?
在Java上,有更多的因素和更多的开销数组。由于数组是对象,所以
对于一维与二维,一维会更快,因为它是一个数组查找和一个基元与一个数组查找、一个数组对象引用的取消引用,然后是该数组中的查找。
然而,这样的微优化并不一定是对你时间的最佳利用,因为有更好的地方可以改进。