ArrayList與LinkedList的區別

ArrayList: 

1.基於動態數據的數據結構 (所謂的動態數據結果,其實就是在arraylist 源碼當中有擴容的動作,並不是每一次添加或刪除創建新的數組,這樣的效率也不會很低)

2.對於隨機訪問的get 和set 操作, ArrayList 要優於LinkedList

3. 對於隨機操作的add 和remove,ArrayList 不一定比LinkedList慢(ArrayList底層由於是動態數據組,因此並不是每次add和remove的時候都需要創建新數組)

LinkedList:

1. 基於鏈表的數據結構

2. 對於順序操作(eg: 增強for循環,LinkedList不一定比ArrayList 慢)

3. 對於隨機操作(eg: for(int i= 0; i< list.size(); i++) ),LinkedList 效率明顯低於 ArrayList

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