android遍历arraylist Android中ArrayList遍历方式的效率对比

Android中ArrayList遍历方式的效率对比――简介

介绍采用各种方式遍历ArrayList的效率对比。

测试环境为:红米(Android 4.2.2、1.5G四核cpu、1G内存)

性能测试方式采用Debug.startMethodTracing和Debug.stopMethodTracing

用traceview查看trace数据

android遍历arraylist Android中ArrayList遍历方式的效率对比
Android中ArrayList遍历方式的效率对比――工具/原料
eclipse 4.2 with adtAndroid中ArrayList遍历方式的效率对比――制作案例,生成trace文件

Android中ArrayList遍历方式的效率对比 1、

测试了三种遍历方式,前两种是采用index进行迭代,第三种是采用类似for each的用法。如图:

第一个和第二个的区别就在于是否先获取size。


Android中ArrayList遍历方式的效率对比 2、

测试例子是使用1-10000的ArrayList,如图:

Android中ArrayList遍历方式的效率对比――分析trace文件

Android中ArrayList遍历方式的效率对比 1、

从trace文件中可以看出,sum1是最快的,其次是sum2、最后是sum3.


Android中ArrayList遍历方式的效率对比 2、

在sum3中,主要是hasNext、next、函数自身、intValue耗时

Android中ArrayList遍历方式的效率对比_遍历arraylist


Android中ArrayList遍历方式的效率对比 3、

在sum2中,则是函数自身、get、intValue、size耗时,说明获取size并没有优化,而是每次循环都取。


Android中ArrayList遍历方式的效率对比 4、

在sum1中,则是函数自身、get、intValue耗时。


Android中ArrayList遍历方式的效率对比 5、

sum1的CPU时间为 185.320,运行时间为:199.705

sum2的CPU时间为 272.289,运行时间为:286.180

sum3的CPU时间为 290.797,运行时间为:323.683

sum1和其他的差别还是挺大的

  

爱华网本文地址 » http://www.aihuau.com/a/8104190103/205953.html

更多阅读

TT付款方式和信用证支付方式的一般程序 信用证的付款方式

信用证支付方式的一般程序采用信用证支付方式结算货款,从进口人向银行申请开出信用证,一直到银行开证付款后又向进口人收回垫款,其中经过多道环节,并需要办理各种手续。加上信用证的种类不同,信用证条款有着不同的规定,这些环节和手续也

找一遍写桂花的文章 描写桂花的文章

描写桂花的文章【秋天的桂花作文:篇一】秋天来了,天高气爽,空气中弥漫着淡淡的香味。是什么呢?原来是桂花的香味儿。秋天里有许多花儿竞相争艳,桂花虽然不起眼,它没有菊花的艳丽,也没有牡丹的高贵,只有那发自内心的淡淡清香,沁人心脾,足足

声明:《android遍历arraylist Android中ArrayList遍历方式的效率对比》为网友懂得自己分享!如侵犯到您的合法权益请联系我们删除