【java】Collection架構

來源:互聯網
上載者:User

標籤:collection   java   介面   

★儲存物件:數組、集合
對象多了用集合存,資料多了用對象存
★數組和集合的不同?

  • 數組長度是固定的,集合長度是可變的

  • 數組中只能儲存同一類型的對象,而集合中儲存的只要是對象就行

★集合架構:是不斷向上抽取共性出來的
  Collection架構中包含了大量集合介面以及這些介面的實作類別和操作它們的演算法(比如排序、迭代、尋找等等),collection主要提供了List(列表)、Queue(隊列)、Set(集合)、Stack(棧)和Map(映射表,用於存放索引值對)等資料結構,其中List、Queue、Set、Stack都繼承自collection介面。
  為什麼會出現這麼多容器呢?
因為每一個容器對資料的儲存方式都有不同,這個儲存方式稱之為:資料結構。每個容器因為資料結構的不同做了單獨的劃分,因為它們的結構特點不一樣。

  Collection位於整個集合架構的頂端,是整個集合架構的基礎,它裡面儲存一組對象表示不同類型的Collections,它的作用只是提供維護一組對象的基本介面。

  Collection中最常用的三個介面是List、Set、Map。

  • List(ArrayList、LinkesList、Vector)

List又稱為有序的Collection,它按照對象的進入順序儲存對象,所以它能對列表中每個元素的位置進行精準的判斷,方便了插入刪除等操作對元素位置判斷的控制,同時它也可以儲存重複的對象

  • Set(HashSet、TreeSet)

Set表示集合,最主要的特點是集合中的元素不能重複,所以存入Set的每個元素都必須定義equals()方法來確保對象的唯一性。

TreeSet實現了SortedSet介面,因此TreeSet容器中元素是有序的。

  • Map(HashMap、TreeMap、LinkedHashMap、WeakHashMap、IdentityHashMap)

   Map提供了一個從鍵映射到值的資料結構,用來儲存索引值對,其內的值是可以重複的,但是鍵必須是唯一的(和映射的概念相同,可以一對多但不能多對一)。

   雖然以上列舉的類都可以實現Map介面,但是它們的執行效率不同

   HashMap是基於散列表來實現的,採用對象的HashCode可以實現快速查詢;

   LinkHashMap採用列表來維護內部的順序;

   TreeMap是基於紅/黑樹狀結構的資料結構來實現的,內部元素是按序排列的。

   Map是一個介面,所以不能直接執行個體化Map對象,但是可以執行個體化實現Map介面的類的對象,如:Map hera = new HashMap();


Collection架構類圖


650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/5B/92/wKiom1UL4p-AcisaAAIv-teA5vA381.jpg" title="20120921030244923.png" alt="wKiom1UL4p-AcisaAAIv-teA5vA381.jpg" />


圖片連結:http://www.2cto.com/uploadfile/2012/0921/20120921030244923.png

【java】Collection架構

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.