List, Set, Map是否繼承自Collection接口?

Collection是最基本的集合接口,聲明瞭適用於JAVA集合(只包括Set和List)的通用方法。 Set 和List 都繼承了ConllectionSet具有與Collection完全一樣的接口,因此沒有任何額外的功能,不像前面有兩個不同的List。實際上Set就是Collection,只 是行爲不同。(這是繼承與多態思想的典型應用:表現不同的行爲。)Set不保存重複的元素(至於如何判斷元素相同則較爲負責) 

 Map沒有繼承於Collection接口 從Map集合中檢索元素時,只要給出鍵對象,就會返回對應的值對象。 

1、Collection 和 Map 的區別

容器內每個爲之所存儲的元素個數不同。
Collection類型者,每個位置只有一個元素。
Map類型者,持有 key-value pair,像個小型數據庫

2、各自旗下的子類關係

Collection
     --List:將以特定次序存儲元素。所以取出來的順序可能和放入順序不同。
           --ArrayList / LinkedList / Vector
     --Set : 不能含有重複的元素
           --HashSet / TreeSet
      Map
     --HashMap
     --HashTable
     --TreeMap

3、其他特徵

List,Set,Map將持有對象一律視爲Object型別。

Collection、List、Set、Map都是接口,不能實例化。
    繼承自它們的 ArrayList, Vector, HashTable, HashMap是具象class,這些纔可被實例化。
vector容器確切知道它所持有的對象隸屬什麼型別。vector不進行邊界檢查。

發佈了16 篇原創文章 · 獲贊 36 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章