Android中List循环遍历性能对照

Posted blfbuaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中List循环遍历性能对照相关的知识,希望对你有一定的参考价值。

android开发中仅仅要是列表式风格界面我们差点儿都须要用到List来存放数据,在数量非常少的List的话差点儿不论什么一种循环遍历方式总体性能都无区别。可是当我们遇到数据量稍大的时候有必要考虑用哪种方式写起来比較高性能。
常见的有下面三种:
第一种

for (String s : tests) {
    // ....
}

另外一种

int size = tests.size();
for (int i = 0; i < size; i++) {
    tests.get(i);
}

第三种

Iterator<String> it = tests.iterator();
    while(it.hasNext()) {
        it.next();
    }

採用以上三种在数据量少于等于100的情况下差点儿输出时间都为0,当在1000左右的时候第三种略微慢在1ms左右<可能在当时的环境原因>能够说三种方式也是没区别,当数据量在10000左右我们就能看到区别了第一种和第三种差点儿相同要4ms而另外一种仅仅要2ms,当数据量在100000左右的话第一种差点儿相同要40ms,另外一种17ms,第三种33ms。

技术分享

声明:以上环境在MacBook Pro -> Eclipse -> Android5.0 -> Nexus5手机环境下的測试结果,Google下面资料显示在非JIT的情况下事实上第一种是最快的,可是在Android环境下还是採用另外一种才是最佳性能选择。



以上是关于Android中List循环遍历性能对照的主要内容,如果未能解决你的问题,请参考以下文章

怎么遍历ArrayList中的list呢?

Python的list循环遍历中,删除数据的正确方法

java怎么循环遍历ArrayList

PHP 数组遍历方法大全(foreach,list,each)

java Map 怎么遍历

.NET性能优化-快速遍历List集合