不断的向数组的中间插入数据,ArrayList和LinkedList哪个快


大部分人应该回答是LinkedList快一些,实际却不然。

import java.util.*;
public class Test
{
    public static void main(String[] args)
    {
        ArrayList<Integer> List = new ArrayList<Integer>();
        long start=System.currentTimeMillis();
        for( int i=0;i <10000;i++ ) //给数组增加10个Int元素
            List.add(i/2,i);
        System.out.println(System.currentTimeMillis()-start);
        //System.out.println(List);
        
        LinkedList<Integer> LList = new LinkedList<Integer>();
        long startL=System.currentTimeMillis();
        for( int i=0;i <10000;i++ ) //给数组增加10个Int元素
            LList.add(i/2,i);
        System.out.println(System.currentTimeMillis()-startL);
        //System.out.println(LList);
    }
}

ArrayList 19毫秒

LinkList 129毫秒

分析可能是由于LinkList需要遍历查询中间的位置比较浪费时间,所以慢了一些


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM