【发布时间】:2021-07-27 12:02:28
【问题描述】:
哪个循环更快?
循环 1
for(String key : myList) {
int index = myList.indexOf(key)
System.out.println(index)
}
循环 2
int index;
for(String key : myList) {
index = myList.indexOf(key)
System.out.println(index)
}
感谢您的帮助。我正在尝试更多地了解性能。
【问题讨论】:
-
“哪个循环更快?” - 你为什么不跑马?编译器也有可能将其优化为完全相同的字节码......所以,你可能也想检查一下。
-
您想通过这种级别的绩效衡量来实现什么目标?除非您拥有大量数据或已用尽其他优化,否则两者的性能都无关紧要。
-
你在错误的地方寻找让你的代码更快的地方。不要在循环的每次迭代中执行
myList.indexOf(key)。写int index = 0; for (String key : myList) { System.out.println(index); index++; } -
@ErwinBolwidt 如果列表中有重复条目,则可能不会给出相同的结果。不清楚需要哪种行为。
标签: java performance loops