關閉→
當前位置:知科普>IT科技>arraylist和vector的區別

arraylist和vector的區別

知科普 人氣:2.2W

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

arraylist和vector的區別

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

TAG標籤:#ArrayList #vector #