測試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還要少。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章