vector原始碼分析

2021-10-05 16:50:46 字數 389 閱讀 6633

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...