ArrayList与LinkedList性能比较

ArrayList

 1 package com.lv.study.pm.first;
 2 
 3 import java.util.ArrayList;
 4 import java.util.LinkedList;
 5 import java.util.List;
 6 
 7 import org.omg.Messaging.SyncScopeHelper;
 8 /*
 9  * 当我们顺序插入数据的时候 我们ArrayList的效率比LinkedList要好
10  * 
11  * 指定位置插入
12  * 
13  */
14 public class Test5 {
15 
16     public static void main(String[] args) {
17 
18         //ArrayList LinkedList
19         // 1 查询
20         // 2 删除 添加
21         List<Integer>alist=new ArrayList<Integer>();
22         addElm(alist);
23         
24         
25         List<Integer>llist=new LinkedList<Integer>();
26         addElm(llist);
27         
28     }
29     
30     //添加10000000个元素
31     static int size=10000000;
32     public static void addElm(List<Integer> list){
33         //进入方法的时候,记录一下时间
34         long start=System.currentTimeMillis();
35         
36         
37         for (int i = 0; i < size; i++) {
38             
39             list.add(i);
40         }
41         //运行完成 出方法的时候记录一下时间
42         long end=System.currentTimeMillis();
43         
44         System.out.println(list.getClass()+"添加"+size+"个元素耗费"+(end-start)+"ms");
45         
46     }
47 
48 }

LinkedList

 1 package com.lv.study.pm.first;
 2 
 3 import java.util.ArrayList;
 4 import java.util.LinkedList;
 5 import java.util.List;
 6 
 7 import org.omg.Messaging.SyncScopeHelper;
 8 
 9 /*
10  * 在指定位置进行插入数据LinkedList要比 ArrayList的效率高的多
11  * 
12  */
13 public class Test6 {
14 
15     public static void main(String[] args) {
16 
17         List<Integer>alist=new ArrayList<Integer>();
18         addElm(alist);
19         
20         
21         List<Integer>llist=new LinkedList<Integer>();
22         addElm(llist);
23         
24     }
25     
26     //添加10000000个元素
27     static int size=10000;
28     public static void addElm(List<Integer> list){
29         //进入方法的时候,记录一下时间
30         long start=System.currentTimeMillis();
31         
32         
33         for (int i = 0; i < size; i++) {
34             
35             //list.add(i);//按照顺序插入
36             list.add(0, i);//在指定的下标,插入改元素
37             //每次都把这个新的元素插入在第一个
38         }
39         //运行完成 出方法的时候记录一下时间
40         long end=System.currentTimeMillis();
41         
42         System.out.println(list.getClass()+"添加"+size+"个元素耗费"+(end-start)+"ms");
43         
44     }
45 
46 }

原文地址:https://www.cnblogs.com/dabu/p/12422773.html