星空网 > 软件开发 > Java

比较ArrayList和LinkedList

比较一:添加内容

 

涉及方法:add

 

  public void add_test(){    List<Person> addlist = new ArrayList<Person>();    Person p = new Person("阿呆",20);
long begin = System.currentTimeMillis(); System.out.println("ArrayList 开始时间:"+begin); for(int i=0; i<10000000; i++){ addlist.add(p); // System.out.println("第"+i+"个"+"所用时间:"+(System.currentTimeMillis()-begin)); } long over = System.currentTimeMillis(); System.out.println("ArrayList 结束时间:"+over); System.out.println("ArrayList 最终时间:"+(over-begin)); }

注:这是ArrayList的测试代码,但是测LinkedList只要把addlist的类型改一下就行,改成LinkedList

结果:

 

ArrayList

 比较ArrayList和LinkedList

 

LinkedList

比较ArrayList和LinkedList 

显然在插入10000000条数据时,耗时LinkedList>ArrayList

 

 

 

比较二:获取内容

 

 

 

涉及方法:get、contains、indexOf、lastIndexOf

 

get测试

  public void get_test(){        //准备工作,添加一堆阿呆,添加一个阿傻    List<Person> getlist = new ArrayList<Person>();    Person p = new Person("阿呆",20);    for(int i=0; i<10000000; i++){      getlist.add(p);    }    Person p2 = new Person("阿傻",20);    getlist.add(77777,p2);    System.out.println("添加完成");            // get 测试,时间0    long begin = System.currentTimeMillis();    System.out.println("get测试开始时间:"+begin);    getlist.get(7777777);    long over = System.currentTimeMillis();    System.out.println("get测试结束时间:"+over);    System.out.println("get测试最终时间:"+(over-begin));  }  

 

结果

ArrayList

比较ArrayList和LinkedList

LinkedList

比较ArrayList和LinkedList

 

 

 

contains测试

    // contains 测试,最终时间0    long begin = System.currentTimeMillis();    for(int i=0; i<10000; i++){      getlist.contains(p2);    }    long over = System.currentTimeMillis();    System.out.println("contains测试最终时间:"+(over-begin));

注:只要把上面测试add的那段代码换成这段,就可以测试contains,准备工作的代码不变

 

结果

ArrayList

比较ArrayList和LinkedList

LinkedList

比较ArrayList和LinkedList

 

 

 

indexOf测试

 

 

 

lastIndexOf测试

 

 




原标题:比较ArrayList和LinkedList

关键词:array

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流