當前位置:生活全書館 >

IT科技

> arraylist和vector的區別

arraylist和vector的區別

arraylist和vector的區別:二者都有一個初始容量大小,採用線性連續儲存空間;當Vector或ArrayList中的元素超過它的初始大小時,Vector會將它的容量翻倍,而ArrayList只增加50%的大小,這樣ArrayList就有利於節約記憶體空間。

arraylist和vector的區別

Vector的方法都是同步的,是執行緒安全的,而ArrayList的方法不是,由於執行緒的同步必然要影響效能,因此ArrayList的效能比Vector好。如果有多個執行緒會訪問到集合,那最好是使用Vector,因為不需要再去考慮和編寫執行緒安全的程式碼。ArrayList是最常用的List實現類,內部是通過陣列實現的,它允許對元素進行快速隨機訪問。陣列的缺點是每個元素之間不能有間隔,當陣列大小不滿足時需要增加儲存能力,就要講已經有陣列的資料複製到新的儲存空間中。當從ArrayList的中間位置插入或者刪除元素時,需要對陣列進行復制、移動、代價比較高。因此,它適合隨機查詢和遍歷,不適合插入和刪除。

標籤: ArrayList vector
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/pz5v2y.html