ArrayList和Vector的區別?

2022-09-05 10:39:10 字數 519 閱讀 9695

首先兩個類都實現了list介面。他們都是有序不唯一的集合,說白了就是儲存元素的位置是有序的(每乙個元素都以乙個對應的索引),相當於乙個動態陣列

arraylist和vector的區別,主要包括兩個方面

同步性:

vector是執行緒安全的,也就是說它的方法直線是執行緒同步的,而arraylist是執行緒不安全的,它的方法之間是執行緒不同步的

如果只有乙個執行緒去訪問集合那麼使用arraylist,他不考慮執行緒安全的問題,所以效率會高一些

如果是多個執行緒去訪問集合,那麼使用vector

資料增長性:

arraylist和vector集合都有乙個初始容量的大小,當元素的個數超過儲存容量是,就需要增加arraylist和vector的儲存空間,每次增加不是

增加乙個而是增加多個,vector是增加原來的兩倍,arraylist沒有明文規定,但是從原始碼中可以看出增長原來的1.5倍

arraylist和vector可以設定初始的儲存空間的大小,vector還以設定增長空間大小,而arraylist不可以。

Array List和ArrayList的區別與

定義 public abstract class array icloneable,ilist,icollection,ienumerable,istructuralcomparable,istructuraequatable 陣列在記憶體中是連續儲存的,所以它的索引速度是非常的快,而且賦值與修改元...

過載技巧 簡單實現string和Vector

1.賦值 下標 呼叫 和成員訪問箭頭 等操作符必須定義為成員,將這些操作符定義為非成員函式將在編譯時標記為錯誤。2.像賦值一樣,復合賦值操作符通常應定義為類的成員。與賦值不同的是,不一定非得這樣做,如果定義為非成員復合賦值操作符,不會出現編譯錯誤。3.改變物件狀態或與給定型別緊密聯絡的其他一些操作符...

LinkedList和ArrayList的區別

對於集合collection下的list介面,有兩個實現類,arraylist和linkedlist,那麼他們兩個有什麼區別呢。arraylist的底層由陣列實現,而linkedlist的底層由雙向鍊錶實現,底層的不同才是他們區別的根源。然而因為他們繼承於同乙個父介面,他們的很多方法都是相同的。關於...