ArrayList 和 LinkedList 的區別


  1.  ArrayList 實現了基於動態數組的數據結構,LinkedList 是基於鏈表的數據結構。

  2.  對於隨機訪問 get 和 set,ArrayList 優於 LinkedList,因為 LinkedList 要移動指針(如 get 的時間復雜度分別為O(1)和O(n))。

  3.  對於新增和刪除操作 add 和 removeLinedList 占優勢,因為 ArrayList 要移動數據。

  4.  ArrayList 在使用的時候默認的初始化數組的長度為10,如果空間不足則會采用2倍的形式進行容量的擴充

    如果保存大數據的時候有可能造成垃圾的產生以及性能的下降,這個時候就可以用 LinkedList 子類保存.

  5.  ArrayList 的空間浪費主要體現在在 list 列表的結尾預留一定的容量空間,而 LinkedList 則體現在它的每一個元素都需要消耗相當的空間.

  總結:

    當操作是在一列數據的后面添加數據而不是在前面或中間,並且需要隨機地訪問其中的元素時,使用 ArrayList 會提供比較好的性能;

    當你的操作是在一列數據的前面或中間添加或刪除數據,並且按照順序訪問其中的元素時,就應該使用 LinkedList


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM