rex*_*rex 1 performance android loops arraylist
哪个更有效?:
ArrayList<Integer> list = new ArrayList<Integer>();
for(int a : list){
log.i(tag, a + "");
}
SparseIntArray list2 = new SparseIntArray();
int count = list2.size();
for(int j = 0; j < count; j++) {
log.i(tag, list2.get(j) + "");
}
Run Code Online (Sandbox Code Playgroud)
或者,是否有更快的方式来读取列表的内容?
rua*_*akh 15
在这种情况下,效率是无关紧要的,因为这两者完全不同.
我想你意识到你的ArrayList例子遍历了数组列表的所有元素.
你不知道的是,你的SparseIntArray例子并不能透过稀疏的整数数组中的所有元素进行迭代,因为稀疏整数数组的键都不会从零到数组大小减一的范围.相反,它的键是任意整数.稀疏整数阵列具有共同的,界面明智为多,与HashMap<Integer, Integer>作为带ArrayList<Integer>.
(这,顺便说一下,涉及到软件设计的一般规律:它是更好地为你的代码是正确的比效率您可以随时采取正确的,干净的代码并想方设法提高其性能,但它是非常难以接受.快速,错误的代码,并找到使其正确的方法.)
| 归档时间: |
|
| 查看次数: |
1949 次 |
| 最近记录: |