java集合

wrf12發表於2024-09-27

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的長度