Java - for循环终止表达式之间的区别

标签 java loops performance xom

我很好奇:这两个循环实现在速度和性能上是否存在差异?假设 size() 方法返回处理一组元素的数组、集合或对象的长度(实际上它来自 XOM api)。

实现 1:

int size = someArray.size();
for (int i = 0; i < size; i++) {
    // do stuff here
}

实现 2:

for (int i = 0; i < someArray.size(); i++) {
    // do stuff here
}

最佳答案

从性能的角度来看,差别不大。这是因为可以优化循环,以便内联 size() 查找,从而导致非常小的性能差异。

主要区别在于循环时尺寸是否发生变化。第一种情况将尝试迭代固定次数。在第二种情况下,迭代次数将取决于最终的 size()。

关于Java - for循环终止表达式之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5126325/

相关文章:

java - IBM MQ Java 类中的持久订阅

javascript - 第一次播放后,循环中的howler js音量 slider 不起作用

c++ - 我怎样才能打印每个阶段下的数字并使其整齐地打印出来?

java - 用于两个非唯一值的数据结构

python - sqlite 和 python...速度与激情

java - 键盘隐藏 BottomSheetDialog

java - Eclipse 中的 Maven 项目——也许你在 JRE 而不是 JDK 上运行

java - Android 开发路线图

java - 为什么我的程序不打印偶数 do while 循环?

performance - Flutter 低帧率性能