《JAVA集合架構(JCF)》

來源:互聯網
上載者:User

標籤:

  Java SE 包含了由一組類和介面組成的Java集合架構(Java Collection Framework,簡稱JCF),其主要功能是用來將儲存的資料以某種結構組織,並以特定的方式來訪問這些資料,其目標是提供一個處理對象集合的通用架構,減少程式員處理不同的對象集合時的編碼量,而Java集合類都位於java.util包中。

  接下來就簡單的談下JCF類的內容。首先Java集合架構將對象的儲存方式分為三種類型,分別是:Set(集)List(列表)Map(映射)

  Set(集):對象容器中的對象沒有順序,且不能重複,對應介面Set;Set介面繼承自Collection介面的全部方法,對於我們這些Java初學者來說,需要先掌握Set介面下的HashSet類TreeSet類

  HashSet類的特點是:當遍曆HashSet時,其中的元素是沒有順序的;HashSet中不允許出現重複元素,這裡的重複元素是指有相同的雜湊碼,並且用equals()方法進行比較時,返回true的兩個對象;允許包含null元素。

  TreeSet類使用元素的自然順序對元素進行排序,或者根據建立set時提供的Comparator進行排序,具體取決於使用的構造方法。也就是說,TreeSet支援自然排序和自訂排序兩種方式。預設情況下,TreeSet採用自然排序方式。

  List(列表):List中的元素是有順序的;List通常允許重複元素;List的實作類別通常支援null元素;可以同過索引訪問List對象容器中的元素。我們需要先掌握該介面下的ArrayList類LinkedList類。

  ArrayList類在概念上和數組類似,表示一組編入索引的元素,區別之處在於ArrayList沒有預先確定的大小,其長度可按需增大。

  LinkedList類是實現了雙向鏈表功能的列表,它將列表中的每個對象放在獨立的空間裡中,而且每個空間中還儲存有上一個和下一個連結的索引;LinkedList不支援快速隨機訪問,如果要訪問LinkedList中第n個元素,必須從頭開始尋找,然後跳過前面的n-1個元素。並且,雖然LinkedList也提供了一個get()方法,可以根據指定的索引來擷取對應的元素,但是正因為它不支援快速隨機訪問,所以效率比較低下。

  Map(映射):是Java集合架構中不同於Collection介面的另一個重要介面,它對應的是在一種從鍵(key)到值(value)的對應關係的集合。也就是說,Map類型的對象容器裡面儲存著兩組對象,一組對象用於儲存Map裡的key,另外一組用於儲存value。key和value可以是任何參考型別的資料。key不能重複,但是value可以重複。我們需要先掌握HashMap類TreeMap類

  HashMap類是基於雜湊演算法的Map介面的實現。HashMap將它的鍵儲存在雜湊表中進行維護,鍵是唯一的。但是,HashMap並不保證鍵以特定順序排列,特別是不保證順序永久不變。

  TreeMap類是基於紅/黑樹狀結構演算法的Map介面實現。TreeMap中鍵的存放方式與TreeSet相似,它將鍵存放在樹中,鍵的順序按照自然順序或者自訂順序兩種方式排列。

《JAVA集合架構(JCF)》

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.