JDK中ArrayList和Vector區別

2021-07-30 17:35:44 字數 387 閱讀 5003

1 下面是關於 兩者詳細講解,這位老師講的非常好,我就直接引用了

arraylist 講解: 

vector 講解 :

2區別:

1:array:list是執行緒不安全的,vector採用同步機制是執行緒安全的,但也使得我們每次只能執行乙個執行緒,屬於重量級物件,導致效率低下

2 :arraylist  有兩個成員變數 :elementdata 和size  

vector  有三個成員變數: elementdata ,elementcount,capacityincrement

3: arraylist 每次1.5倍自增容量  vector成倍自增容量

4: arraylist有三種訪問方式 vector有四種,arraylist不支援列舉訪問

JDK1 8 ArrayList 擴容詳解

arraylist這個資料結構比較簡單,總體來說,arraylist 底層結構是陣列,他的很多方法都是從陣列上面演變而來的,下面分析下arraylist的擴容機制,每次在add 乙個元素時,arraylist都需要對這個list的容量進行乙個判斷。如果容量夠,直接新增,否則需要進行擴容。在1.8 a...

ArrayList原始碼分析 JDK1 8

借助工具類arrays,實現陣列複製 elementdata arrays.copyof elementdata,newcapacity 底層呼叫system.arraycopy system.arraycopy original,0,copy,0,math.min original.length,...

JDK原始碼 輪子分析 ArrayList原理淺解

arraylist 個人覺得比較容易理解一點,主要就是乙個正常的陣列。public class arraylist extends abstractlist implements list,randomaccess,cloneable,serializable else if paramint 0 ...