ArrayList與Vector集合的差異

2021-09-24 12:53:31 字數 783 閱讀 4829

arraylist與vector都為list的兩個兩個典型實現,基於陣列的list類,兩者封裝了乙個動態的允許再分配的object陣列,使用initialcapacity引數設定該陣列長度,當集合中新增的元素超出該陣列的長度時,陣列的initialcapacity會自動增加

兩者在功能上基本一致,其最顯著的差異在於前者是執行緒不安全的,當多個執行緒同時修改同乙個arraylist集合時,需要程式保證集合的同步性,而後者是執行緒安全的,無須程式保證集合同步性,所以在新能上前者會比後者優越

vector有乙個stack子類,執行緒安全但效能較差,其元素的資料結構可以用子彈夾來比喻,資料結構是一種"先進後出 "的容器

stackcollecter = new  stack();

//將元素存入容器,最後乙個元素位於該容器的頂部

collecter.push("拯救者膝上型電腦");

collecter.push("平板電腦");

collecter.push("華為 p30 pro麒麟980");

object peek = collecter.peek();

//進出棧都是object型別

//返回第乙個元素,而不從容器內刪除該元素

system.out.println((string)peek);

//返回第乙個元素,將元素從容器中移除

collecter.pop();

system.out.println(collecter);

LinkedList與ArrayList的區別

我們依然從資料結構的角度看度這個問題。從命名上可以大致猜出來linkedlist的資料結構為鍊錶,arraylist的資料結構為陣列。能夠看到這裡它們的區別就一目了然了 它們的區別大致就和陣列和鍊錶的區別是一樣的。在在查詢和刪除操作中陣列的速度要優於鍊錶,這是因為陣列是按照下標來執行這兩個操作的,而...

ArrayList與LinkedList的區別

arraylist與linkedlist的區別 arraylist和linkedlist的大致區別如下 1.arraylist是實現了基於動態陣列的資料結構,linkedlist基於鍊錶的資料結構。2.對於隨機訪問get和set,arraylist覺得優於linkedlist,因為linkedlis...

ArrayList與LinkedList的區別

關於兩者的區別,先通過兩者對資料的操作進行對比 public static void main string args end system.currenttimemillis system.out.println arraylist第一次插入資料前後時間差 end start linkedlist...