一.什麼是集合
集合是對象的集合,就像數組是數的集合。集合是一種容器,可以存放對象(可以是不同類型的對象)。
二.集合的優點(為什麼要用集合)
當然,在java裡,可以使用數組來存放一組類型相同的對象。但是數組存放對象有兩個缺點(集合優點):
三.集合的實現
java中集合主要由兩個接口實現:Collection和Map,Collection又有兩個子接口:Set和List。
Collection接口
|-------List接口
|-------ArrayList類(類似數組),LinkedList類(類似鏈表),Vector類(線程安全的,不過比較老,不常用)
|-------Set接口
|-------HashSet,LinkedHashSet,TreeSet
Map接口
|-------HashMap,LinkedHashMap,TreeMap,Hashtable
各個接口的特點:
Set:元素無序,不可重復。SortedSet是一個按照升序排列元素的Set。
List:元素有序,可重復。提供了按照索引訪問的方式。可以看作“動態數組”,
Map:具有映射關系“key-value”的鍵值對。一個鍵對應一個值,使用時根據鍵來尋找值,所以鍵不可重復,值可重復。
下圖為Collection接口繼承樹: