【java】【集合】List的三個子類—ArrayList、Vector、LinkedList的區別和聯絡

love_Aym發表於2018-04-24

一、List的三個子類的特點

 1、ArrayList:

            底層資料結構是陣列,查詢快,增刪慢。

            執行緒不安全,效率高。

2、 Vector:

            底層資料結構是陣列,查詢快,增刪慢。

            執行緒安全,效率低。

    Vector相對ArrayList查詢慢(執行緒安全的)

    Vector相對LinkedList增刪慢(陣列結構)

3、 LinkedList:

            底層資料結構是連結串列,查詢慢,增刪快。

            執行緒不安全,效率高。


 二、 Vector和ArrayList的區別

共同點:都是陣列實現的           

不同點:從執行緒角度來說

            Vector是執行緒安全的,效率低

            ArrayList是執行緒不安全的,效率高

        

三、ArrayList和LinkedList的區別

共同點:都是執行緒不安全的           

不同點: ArrayList底層是陣列結果,查詢和修改快

             LinkedList底層是連結串列結構的,增和刪比較快,查詢和修改比較慢

        


相關文章