1)集合特性:集合在任何時候存儲的都是引用纤房,不是對象。
2)集合在JDK的java.util *包下
3)集合一共有兩大類翻诉,
一類是存儲單個元素的形式炮姨,其父類為java.util.collection
還有一類是以鍵值對的方式存儲,其超級父類為java.util.map
4)collection下較重要的兩個接口是List和Set集合
List集合特點:有序碰煌,有下標舒岸,可重復
Set集合特點:無序,無下標芦圾,不可重復
List主要的三個實現(xiàn)類蛾派,ArrayList,LinkedList,Vector。ArrayList和Vector底層的數(shù)據(jù)結(jié)構(gòu)都是數(shù)組个少,但是Vector是線程安全的洪乍,不過,Vector效率低夜焦,而且保證線程安全有其他的方法壳澳,所以Vector用的比較少。
LinkedList底層是雙向鏈表糊探。
Set主要的兩個實現(xiàn)類,HashSet, TreeSet河闰。
HashSet在新建的時候科平,實際上是新建了一個HashMap,HashMap底層數(shù)據(jù)結(jié)構(gòu)是Hash表
TreeSet在新建的時候,實際上是新建了一個TreeMap,TreeMap底層數(shù)據(jù)結(jié)構(gòu)是二叉樹姜性。
2.Map集合
1)key和value存儲的都是對象的內(nèi)存地址瞪慧,也就是引用
2)Map中所有的key都是無序不重復的
3)Map集合的key和Set集合存儲元素特點相同,因為Set和存儲元素的時候就是把元素存儲到了Map集合的key中
Map集合下主要有三個實現(xiàn)類部念,HashMap弃酌,Hashtable 氨菇,TreeMap