Collection(單列集合):List 有序 可重複 :vector 陣列結構 執行緒安全 加了鎖
:Arraylist 陣列結構 不安全 未加鎖
:LinkedList 連結串列結構(雙向連結串列) 不安全
:Set 無序 唯一 :HashSet 雜湊表結構 ——(實現類)——LinkHashSet(雜湊表和連結串列結構)
:TreeSet 紅黑樹結構
Map(雙列集合):HashTable 雜湊表結構 執行緒安全 (官方不推薦使用)————Properties
:HashMap 雜湊表結構 不安全————LinkHashMap
:ConcurrentHashMap 雜湊表結構
:TreeMap 紅黑樹結構
複雜度:常對冪指階
ArrayList實現底層原理:1由動態的陣列實現的
2初始容量為0,第一次新增資料時初始化容量為0
3擴容時變為原來的1.5倍,每次擴容都要複製陣列
4新增資料時 確保已使用長度+1後足夠存下一個資料 如果大於當前陣列長度,呼叫grow方法擴容,確保有地方儲存後新增新元素,最後返回bool值成功
ArralList list = new ArrayList(10) 擴容了幾次 :0,建構函式直接初始化,沒有擴容
陣列和List之間的轉換:陣列轉List,使用Arrays工具類中的asList方法
List轉陣列,使用List的toArray方法,需要引數List的長度