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