关于ArrayList与LinkedList添加数据的效率问题

来源:互联网 发布:志愿者面试 知乎 编辑:程序博客网 时间:2024/05/23 15:15

本人小渣一个,只是在学习过程中看见人们都在比较ArrayList与LinkedList添加数据的效率,于是实验了一下
代码如下:

public class CollectionTest {    public static void main(String[] args) {        Scanner sc=new Scanner(System.in);        int DataNum=sc.nextInt();        ArraylisTest(DataNum);        LinkedlistTest(DataNum);    }    public static void ArraylisTest(int DataNum)    {        ArrayList<String> list=new <String>ArrayList();        int i=0;        long timeStart=System.currentTimeMillis();        while(i<DataNum)        {            list.add(i+"shisdflksdfjsdfjklas");            i++;        }        long timeEnd=System.currentTimeMillis();            System.out.println("array时间"+(timeEnd-timeStart));    }    public static void LinkedlistTest(int DataNum)    {        LinkedList<String> list=new <String>LinkedList();        int i=0;        long timeStart=System.currentTimeMillis();        while(i<DataNum)        {            list.add(i+"shisdflksdfjsdfjklas");            i++;        }        long timeEnd=System.currentTimeMillis();            System.out.println("linked时间"+(timeEnd-timeStart));    }}




1)当数据量为2w级别

array时间16linked时间32

2)当数据量为20w级别

array时间234linked时间282

3)当数据量为200w级别

array时间50516linked时间9750

经过比较随着数据量的增加AL的添加数据的代价逐渐凸显,在20级别AL与LL添加效率逐渐相等,之后便是LL的天下了。:)

首次写还望海涵!!!


0 0
原创粉丝点击