1. 程式人生 > >測試ArrayList和LinkedList的效率

測試ArrayList和LinkedList的效率

測試程式碼如下

import java.util.ArrayList;
import java.util.LinkedList;

public class arraylistPKlinkedlist {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
          arraylist();
          linkedlist();
	}
	 static void arraylist(){
		ArrayList al = new ArrayList();
        
        long start = System.currentTimeMillis();
        for(int i = 0 ; i<300000 ;i++){
            al.add(0,"加入元素"+i);//注意
        }
        long end = System.currentTimeMillis();
        System.out.println("ArrayList消耗的時間"+(end - start));
	}
	static void linkedlist(){
	 	LinkedList al = new LinkedList();
	 
     
        long start = System.currentTimeMillis();
        for(int i = 0 ; i<300000 ;i++){
            al.add(0,"加入元素"+i);
        }
        long end = System.currentTimeMillis();
        System.out.println("LinkedList消耗的時間"+(end - start));
	}

}
測試結果

ArrayList消耗的時間45157
LinkedList消耗的時間155

這其中有一點需要注意:

在新增元素的時候,新增元素的位置很重要,這個程式新增新元素的位置每次都是第一個(這樣順序儲存的結構每次都要移動最大次數),但是如果新增元素每次都是最後一個,那麼結果就大不一樣了,ArrayList消耗的時間比LinkedList還要少。