测试ArrayList和LinkedList的效率

来源:互联网 发布:淘宝邀请的活动好吗 编辑:程序博客网 时间:2024/06/05 00:40

测试代码如下


import java.util.ArrayList;import java.util.LinkedList;public class arraylistPKlinkedlist {public static void main(String[] args) {// TODO Auto-generated method stub          arraylist();          linkedlist();} static void arraylist(){ArrayList al = new ArrayList();                long start = System.currentTimeMillis();        for(int i = 0 ; i<300000 ;i++){            al.add(0,"加入元素"+i);//注意        }        long end = System.currentTimeMillis();        System.out.println("ArrayList消耗的时间"+(end - start));}static void linkedlist(){ LinkedList al = new LinkedList();              long start = System.currentTimeMillis();        for(int i = 0 ; i<300000 ;i++){            al.add(0,"加入元素"+i);        }        long end = System.currentTimeMillis();        System.out.println("LinkedList消耗的时间"+(end - start));}}



测试结果


ArrayList消耗的时间45157
LinkedList消耗的时间155


这其中有一点需要注意:

在添加元素的时候,添加元素的位置很重要,这个程序添加新元素的位置每次都是第一个(这样顺序存储的结构每次都要移动最大次数),但是如果添加元素每次都是最后一个,那么结果就大不一样了,ArrayList消耗的时间比LinkedList还要少。

0 0