Vector原始碼理解

2021-08-31 17:13:03 字數 902 閱讀 7338

//記錄元素的陣列

protected object elementdata;

//上面陣列的空間長度

protected int elementcount;

//有效元素數

protected int capacityincrement;

構造方法中主要內容

this.elementdata = new object[10];

this.capacityincrement = 0;

public synchronized boolean add(e e)
這裡和arraylist相比就是增加了同步的synchronized。然後這個類的大部分都有同步操作 ,竟然還包括size這樣的方法,讓我很不理解,這些類似於唯讀得操作也需要限制嗎?

public synchronized int size()
public synchronized void copyinto(object anarray)
return (e)elementdata[0];
return (e)elementdata[elementcount - 1];
沒什麼特別的地方,和arraylist邏輯非常類似。結束

裡面沒什麼內容,只是封裝了幾個簡單方法,例如:

public synchronized int search(object o) 

return -1;

}

public boolean empty()
完。

Vector原始碼分析

與arraylist一樣,vector的底層也是使用陣列elementdata進行儲存資料 protected object elementdata 當前elementdata陣列中元素的個數 protected int elementcount 當前elementdata陣列進行擴容的增量 pro...

Vector原始碼分析

說實話vector在工作中用的比較少,至少我沒有用到過。vector在面試中經常用來和arraylist進行比較,但凡知道 vector的都應該知道vector是執行緒安全的,而arraylist是執行緒不安全的,究其原因其實就是因為vector在增 改 刪操方法加了synchronized,利用鎖...

vector原始碼分析

vector和arraylist操作基本相同,只不過對方法加了synchronized做同步處理,以add方法為例 擴容重點步驟 確定擴容的大小 private intnewcapacity int mincapacity return newcapacity max array size 0 ne...