ArrayList与LinkedList对比

来源:互联网 发布:qq软件管理下载 编辑:程序博客网 时间:2024/05/22 16:45

ArrayList与LinkedList对比

简单记录一下两个list的区别:

个人看法,实际开发中ArrayList使用的几率要远大于LinkedList
直接上代码比较好

代码块

package com.br.approval.test;import java.util.ArrayList;import java.util.LinkedList;import java.util.List;public class TestList {    public static void main(String[] args) {        List<String> l=new LinkedList<>();        List<String> l1=new ArrayList<>();        int i=0;        Long start=System.currentTimeMillis();        while (i<=10000){            l.add("add ele");            i++;        }        Long times=System.currentTimeMillis()-start;        System.out.println("LinkedList 加10000次毫秒耗时:"+times);        i=0;        start=System.currentTimeMillis();        while (i<=10000){            l1.add("add ele");            i++;        }        times=System.currentTimeMillis()-start;        System.out.println("ArrayList 加10000次毫秒耗时:"+times);        i=0;        start=System.currentTimeMillis();        for(String a:l){            a=a+"";        }        times=System.currentTimeMillis()-start;        System.out.println("LinkedList 遍历10000次毫秒耗时:"+times);        i=0;        start=System.currentTimeMillis();        for(String a:l1){            a=a+"";        }        times=System.currentTimeMillis()-start;        System.out.println("ArrayList 遍历10000次毫秒耗时:"+times);    }}

结果如下:

LinkedList 加10000次毫秒耗时:3ArrayList 加10000次毫秒耗时:2LinkedList 遍历10000次毫秒耗时:31ArrayList 遍历10000次毫秒耗时:10

结果表明,10000次循环,在进行add时,两种list耗时差不多,查询ArrayList的效率更好

下面看一下1百万次的循环结果

LinkedList 加1000000次毫秒耗时:26ArrayList 加1000000次毫秒耗时:118LinkedList 遍历1000000次毫秒耗时:58ArrayList 遍历1000000次毫秒耗时:31

附带一个写的比较全面的博客地址

http://www.cnblogs.com/xingele0917/p/3759619.html