vector和arraylist操作基本相同,只不過對方法加了synchronized做同步處理,以add方法為例
//擴容重點步驟:確定擴容的大小
private
intnewcapacity
(int mincapacity)
return
(newcapacity - max_array_size <=0)
? newcapacity
:hugecapacity
(mincapacity)
;}
每次擴容擴為原來二倍,和arraylist不同。
arraylist和linkedlist都是執行緒不安全的,因此若想要實現執行緒安全有一下替換的實現方案
Vector原始碼分析
與arraylist一樣,vector的底層也是使用陣列elementdata進行儲存資料 protected object elementdata 當前elementdata陣列中元素的個數 protected int elementcount 當前elementdata陣列進行擴容的增量 pro...
Vector原始碼分析
說實話vector在工作中用的比較少,至少我沒有用到過。vector在面試中經常用來和arraylist進行比較,但凡知道 vector的都應該知道vector是執行緒安全的,而arraylist是執行緒不安全的,究其原因其實就是因為vector在增 改 刪操方法加了synchronized,利用鎖...
Vector原始碼分析
vector資料結構是陣列。1 繼承abstractlist,實現了list。因此底層的資料結構是陣列。2 實現了介面randomaccess,表明可以隨機訪問元素。3 實現了介面cloneable,表示可以進行轉殖。2 實現了介面serializable,表明可以序列化 儲存的集合元素 prote...