ArrrayList 和 LinkedList 查询效率区别举例说明
来源:互联网 发布:怎么减少网络延迟 编辑:程序博客网 时间:2024/06/07 03:32
1:在大数据遍历(例如for循环)处理时,ArrayList 查询效率明显由于LinkList。
下面例子中:
当 n = 100000 下面程序输出linkM=6s当 n = 200000 下面程序输出linkM=27s当 n = 300000 下面程序输出linkM=70s当 n = 400000 下面程序输出link=132s
而当n= 800000 下面程序输出 linkM=1461s,接近25分钟
表明LinkList在结合 一重for循环 查询时间复杂度O(n^2),即n增大为其原来两倍时,时间增加为原来的 n^2(n的平方)和n^3(n的立方)之间。从上面的例子可以看出,当n由100000变为200000时,时间由6变为27,增加了4倍多。
(1)LinkList查询举例说明public class ListTest { public static void main(String[] args) { List<Integer> linkList = new LinkedList<>(); for (int i = 0; i < n; i++) { linkList.add(i); } long linkS = (new Date()).getTime(); int total = 0; for (int i = 0; i <n ; i++) { total+=total+linkList.get(i); } long linkE = (new Date()).getTime(); long linkM = linkE -linkS;
System.out.println("linkM="+linkM/1000);
}
2:ArrayList查询举例说明
因为
(1)当n=800000时,arrayM=0.009s,即9ms。
(2)当n=8000000时,arrayM=0.0021s,即21ms。
public class ListTest { public static void main(String[] args) { List<Integer> intList = new ArrayList<Integer>(); for (int i = 0; i < n; i++) { intList.add(i); } long s = (new Date()).getTime(); int total2 = 0; for (int i = 0; i <n ; i++) { total2+=total2+intList.get(i); } long e = (new Date()).getTime(); long m = e -s;System.out.println("arrayM="+m);}}
0 0
- ArrrayList 和 LinkedList 查询效率区别举例说明
- ArrayList和LinkedList的区别是什么?举例说明LinkedList可实现的功能
- ArrayList和LinkedList的区别是什么?举例说明LinkedList可实现的功能
- ArrayList和LinkedList的区别是什么?举例说明LinkedList可实现的功能。
- ArrayList和LinkedList效率解说
- 关于LinkedList和ArrayList的执行效率的问题的区别(测试用例)
- ArrayList和LinkedList区别
- ArrayList和LinkedList区别
- ArrayList和LinkedList区别?
- ArrayList和LinkedList区别
- ArrayList和LinkedList区别
- ArrayList和LinkedList区别
- ArrayList和LinkedList区别
- LinkedList 和 ArrayList 区别
- ArrayList和LinkedList区别
- ArrayList和LinkedList区别
- ArrayList和LinkedList区别
- ArrayList和LinkedList区别
- 算法---深度优先搜索
- 程序员必知的8大排序(四)-------归并排序,基数排序(java实现)
- UVALive 3695 (博弈 bfs)
- Linux中vim命令和cat命令的区别
- SQL Server数据库查询速度慢原因及优化方法
- ArrrayList 和 LinkedList 查询效率区别举例说明
- yum源不存在解决方法
- java回忆录—输入输出流详细讲解(入门经典)
- 多项式求解(霍纳规则(Horner Rule))
- hdu5389 Zero Escape(DP)
- HDU:1231 最大连续子序列(动态规划DP)
- Java 7的ThreadLocalRandom与Random
- UVA - 1587 Box
- sql server中解决与系统保留关键字冲突使用的是中括号