1. 程式人生 > >Java集合框架剖析(1)

Java集合框架剖析(1)

一、Java集合 

集合簡易架構圖:

1、集合是什麼?

  儲存物件的容器,面嚮物件語言對事物的體現都是以物件的形式,所以為了方便對多個物件的操作,儲存物件,集合是儲存物件最常用的一種方式。

  集合中可以儲存任意型別的物件,而且長度可變。在程式中有可能無法預先知道需要多少個物件,那麼用陣列來裝物件的話,長度不好定義,而集合解決了這樣的問題。

2、集合與陣列的區別?

  陣列長度是固定的,一旦宣告好,不可改變,集合長度是可變的。陣列中可以儲存基本資料型別,集合只能儲存物件陣列中儲存資料型別是單一的,集合中可以儲存任意型別的物件。

3所有集合類都位於java.util包下

CollectionMapJava集合框架的根介面

4Collection是高度抽象出來的集合根介面它包含了集合的基本操作和屬性Collection包含了ListSet兩大分支。
  List集合是有序集合,集合中的元素可以重複,也維護元素的插入順序,訪問集合中的元素可以根據元素的索引來訪問每一個元素都有它的索引。第一個元素的索引值是0

  List的實現類有LinkedListArrayListVectorStack


  Set集合是無序集合,集合中的元素不可以重複,訪問集合中的元素只能根據元素本身來訪問。Set依賴於Map,它實際上是通過Map實現的;

  Set的實現類有

HashSetLinkedHashSetTreeSet

 

java.util.Collection  

        ---| Collection      描述所有介面的共性  

            ----| List介面    可以有重複元素的集合  

            ----| Set  介面    不可以有重複元素的集合

 

5、Map介面是一個儲存Key-value對映型的介面Collection介面兩個獨立的介面,訪問根據每項元素的key來訪問其valueMap的每一個元素包含一個keyvalueAbstractMap是個抽象類,它實現了Map介面中的大部分API

   Map介面實現類有HashMapTreeMapLinkedHashMapHashtable

 

二、準備工作

1、環境:JDK8Eclipse

2、配置JDK環境:https://www.cnblogs.com/smyhvae/p/3788534.html

3、Eclipse配置JDK原始碼的Debug模式,目的是解決Eclipse除錯JDK原始碼時,無法檢視變數值: https://www.cnblogs.com/wangyang108/p/6289343.html

 

三、程式碼地址

  https://github.com/liuyongwade/collection-practice.git