List介面及部分實現類
阿新 • • 發佈:2021-02-02
技術標籤:# java
本部落格由該視訊整理所得:視訊連結
List集合儲存元素特點
有序可重複
有序:List集合中的元素有下標。從e開始,1遞增。
可重複:儲存一個1,還可以再儲存1.
List介面特有的常用的方法:
void add(int index,Object element)
Object get(int index)
int indexOf(object o)
int lastIndexOf(Object o)
Object remove(int index)
Object set(int index,object element)
ArrayList
- 預設容量為10
- 集合底層是Object[]陣列。
- 每次擴容增長為原來的1.5倍。
- 使用ArrayList時,建議初始給定一個合適的大小,減少擴容帶來的效率影響。
- 優點:檢索效率高;向末尾增加元素效率高。
- 缺點:隨機增刪元素效率低
- 一道面試題:平時有用哪個集合型別最多?
答:Arraylist。調動add方法會向末尾增加一個元素,效率不會受到影響,而且平時檢索用的最多。
LinkedList
- 連結串列優點:隨機增刪元素效率較高。(因為增刪元素不涉及到大量元素位移)
- 連結串列缺點:查詢效率較低,每一次查詢某個元素的時候都需要從頭節點開始往下遍歷。
- LinkedList集合沒有初始化容量。最初這個鏈喪中沒有任何元素。first和last引用都是nulL。
Vector
- 底層是一個數組
- 初始化容量為10
- 每次擴容為原來的2倍
- 所有方法帶有synchronized修飾,執行緒安全。
- 使用集合工具類:java.util.collections的synchronizedList方法可以將一個執行緒不安全的ArrayList集合轉換成執行緒安全的。
- java.util.collection是集合介面。java.util.collections是集合工具類。l