更新時間:2022-09-14 11:00:23 來源:動力節(jié)點(diǎn) 瀏覽1421次
Java常見集合分為兩大類 Collection 和 Map集合是用來存儲對象的容器。
1.數(shù)組的長度不可變,而集合的長度是可變的
2.數(shù)組可以存基本數(shù)據(jù)類型和引用數(shù)據(jù)類型,而集合只能存儲引用數(shù)據(jù)類型
Collection是一個接口,List 接口和Set 接口繼承了Collection接口
list接口特點(diǎn)
1.有序
2.有下表
3.元素可重復(fù)
List接口常見的實(shí)現(xiàn)類
1.ArrayList:底層數(shù)組實(shí)現(xiàn),線程不安全,查找效率高
初始容量為10,每次擴(kuò)容為當(dāng)前容量的1.5倍
2.LinkdedList:底層雙向鏈表實(shí)現(xiàn),線程不安全,增刪效率高
3.Vector:底層數(shù)組實(shí)現(xiàn),線程安全,可以根據(jù)枚舉器Enumeration遍歷
Set接口特點(diǎn)
1.無序
2.無下標(biāo)
3.元素不可重復(fù)
Set接口常見的實(shí)現(xiàn)類
1.HashSet:底層 數(shù)組 + 鏈表 +紅黑樹實(shí)現(xiàn)
2.TreeSet:底層紅黑樹實(shí)現(xiàn),還實(shí)現(xiàn)了SortedSet接口,可以對插入的元素進(jìn)行排序
存儲的是Key-Value格式的鍵對值
1.無序
2.無下標(biāo)
3.Key值不可重復(fù),Value可重復(fù)
Map接口常見的實(shí)現(xiàn)類
HashMap:底層數(shù)組+鏈表+紅黑樹實(shí)現(xiàn),線程不安全,key value允許為null,初始容量為16,當(dāng)存儲的數(shù)據(jù)大于當(dāng)前容量乘0.75后,擴(kuò)容為原來的2倍
TreeMap:底層紅黑樹實(shí)現(xiàn),可以對key進(jìn)行自動排序,線程不安全
HashTable:線程安全
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743