【发布时间】:2015-07-25 07:36:01
【问题描述】:
给定List<T>,在 Android 上迭代的首选方式是什么?现代 Android 设备是否存在性能差异?
for (int i=0; i<list.size(); i++) {
T element = list.get(i);
...
}
或
for (T element : list) {
...
}
编辑:这个问题是特定于 Android 运行时的。另一个“重复”问题没有解决 Android 的具体问题。
【问题讨论】:
-
第一个版本稍慢
-
@Blackbelt 正确编写时第一个版本不可能变慢(大小应该保存在变量中,因此它不会被调用 N 次)。第二个需要一个函数调用来迭代,所以它总是会变慢。只是它的成本足以让任何人关心(可能不是)。
-
如果 List 是 LinkedList,则第一个较慢
-
这个问题是 Android 特有的,我不同意它是重复的。
标签: java android performance