1. 程式人生 > >ArrayList、LinkedList、Vector 分析

ArrayList、LinkedList、Vector 分析

ArrayList、LinkedList、Vector 集合對比:

  結構 安全 效率 擴容
ArrayList 陣列 不安全 增刪(慢)查詢(快) 1.5倍
LinkedList 連結串列(雙向連結串列) 不安全 增刪(快)查詢(慢)
Vector 陣列 安全 synchronized(慢) 2倍

Vector ArrayList 類似,  Vector 類的方法都添加了synchronized。所以它在多執行緒下是安全的, 但操作效率相比而言就比較慢。

ArrayList 與 LinkedListLinkedList  插入元素時比較多樣性 , 如插入到首部或末尾、清除或查詢首部末尾(Deque<E> .LinkedList 查詢不像ArrayList可以直接根據下標找到元素它而是遍歷查詢到匹配的元素。這就是查詢慢的原因。但是增加和刪除就比較快,它不要像ArrayList每次都去判斷是否擴容。如果需要擴容,陣列結構的陣列容量不足就需要複製當前陣列還要生成新的長陣列所以效率比較低...