【Java面試題】35 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不進行邊界檢查。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM