java - 迭代一维数组与二维数组的速度

标签 java arrays performance

我正在阅读一篇关于如何由于数据存储方式而水平迭代二维数组比垂直迭代更快的文章(请参阅: Fastest way to loop through a 2d array? )。当我阅读答案时,这是有道理的,但它让我想知道二维数组和一维数组之间有什么区别。具有相同单元数的一维数组和二维数组的迭代速度是否有差异?

最佳答案

在 Java 上,数组有更多因素和更多开销。由于数组是对象,int[][]ints 数组对象的数组。如果热点优化或缓存数组访问,这可能会使水平迭代比垂直迭代更快。

对于一维和二维,一维会更快,因为它是数组查找、基元查找和数组查找、数组对象引用的取消引用,然后在该对象中进行查找 数组。

但是,这种微观优化不一定是对您时间的最佳利用,因为可能有更好的改进地方。

关于java - 迭代一维数组与二维数组的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18705463/

相关文章:

java - 如何将 Textviews 放入数组中并通过 findViewById 找到它们?

php - 交换 php 中找到的数组键

Python:islice 的性能问题

java - 向 ThreadPoolExecutor 的 BlockingQueue 添加任务是否可取?

Java JTree 只展开一级节点

java - JSONObject 中的第二个 JSONArray 不知为何是空的

c# - 更快的枚举 : Leveraging Array Enumeration

c# - 替换嵌套的 foreach 以提高性能

linux - 将 1 到 1000 万的整数列表写入文件时如何获得良好的性能?

java - 使用俄语语言环境时,java 中的时区显示问题