Java中Vector和ArrayList的區別

2021-06-19 17:59:36 字數 532 閱讀 2431

首先看這兩類都實現list介面,而list介面一共有三個實現類,分別是arraylist、vector和linkedlist。list用於存放多個元素,能夠維護元素的次序,並且允許元素的重複。3個具體實現類的相關區別如下:

arraylist是最常用的list實現類,內部是通過陣列實現的,它允許對元素進行快速隨機訪問。陣列的缺點是每個元素之間不能有間隔,當陣列大小不滿足時需要增加儲存能力,就要講已經有陣列的資料複製到新的儲存空間中。當從arraylist的中間位置插入或者刪除元素時,需要對陣列進行複製、移動、代價比較高。因此,它適合隨機查詢和遍歷,不適合插入和刪除。

vector與arraylist一樣,也是通過陣列實現的,不同的是它支援執行緒的同步,即某一時刻只有乙個執行緒能夠寫vector,避免多執行緒同時寫而引起的不一致性,但實現同步需要很高的花費,因此,訪問它比訪問arraylist慢。

linkedlist是用鍊錶結構儲存資料的,很適合資料的動態插入和刪除,隨機訪問和遍歷速度比較慢。另外,他還提供了list介面中沒有定義的方法,專門用於操作表頭和表尾元素,可以當作堆疊、佇列和雙向佇列使用。

Java中Vector和ArrayList的區別

首先看這兩類都實現list介面,而list介面一共有三個實現類,分別是arraylist vector和linkedlist。list用於存放多個元素,能夠維護元素的次序,並且允許元素的重複。3個具體實現類的相關區別如下 arraylist是最常用的list實現類,內部是通過陣列實現的,它允許對元素...

Java中Vector和ArrayList的區別

首先看這兩類都實現list介面,而list介面一共有三個實現類,分別是arraylist vector和linkedlist。list用於存放多個元素,能夠維護元素的次序,並且允許元素的重複。3個具體實現類的相關區別如下 1 arraylist是最常用的list實現類,內部是通過陣列實現的,它允許對...

Java中Vector和ArrayList的不同

1.vector中方法都用synchronized關鍵字修飾,執行緒安全 2.使用arraylist時,如果不指定大小,會生成乙個空的陣列 使用vector時,如果不指定大小,會預設生成乙個10個元素大小的陣列 2.vector 實現類中有乙個變數 capacityincrement 用來表示每次容...