java集合架構collection(3)

來源:互聯網
上載者:User

標籤:特性   數學   lis   list   dHash   cti   紅/黑樹狀結構   鏈表   自己   

根據《java編程思想》裡面的說法,java集合又叫容器,按照單槽和雙槽分為兩類,Collection和Map,這兩個都是介面。

一、Collection

Collection下面又分了三個子介面,分別是Set,List和Queue,他們的特性分別是:

1.Set:元素唯一,即Set中的元素永遠不可能重複,跟數學中的集合概念是一樣的。它的所有實作類別都有相同的特徵。

主要實作類別有三個:HashSet,LinkedHashSet,TreeSet

  • HashSet的底層實現是HashMap中的key,因此它的特點是無序不重複;
  • LinkedHashSet底層實現是LinkedHashMap,特點是元素變得有序了。這裡的有序指遍曆順序和插入順序相同。
  • TreeSet的底層實現是TreeMap,也是有序的,這裡的有序指按照元素本身的大小排序,對於Integer、String,本身已經實現了Comparable介面,所以他們是可比較的。開發人員自訂的對象,需要自己實現Comparable介面,以方便程式執行元素的比較。

2.List:有序,List是有序可重複的,這裡的有序也是只遍曆順序和插入順序相同。最常用的實作類別:

  • ArrayList底層實現是數組,所以查詢效率高,增刪效率低;
  • LinkedList底層實現是鏈表,長於插入刪除,查詢效率低。

3.Queue:隊列,特點是先進先出,只允許在隊列前端刪除,隊列後端插入,常用實作類別PriorityQueue.

二、Map

如果說數組和List實現了下標和元素對象的映射,那麼Map就實現了對象和對象之間的映射。

主要實作類別:HashMap,LinkedHashMap和TreeMap

HashMap的底層使用了雜湊表,可以實現快速的尋找。

LinkedHashMap最大的特點是key值有序了,遍曆順序和插入順序相同。

TreeMap的底層是紅/黑樹狀結構,新插入的元素會跟Map中原有元素進行比較,並插入到該插入的位置。TreeMap中對象,必須實現Comparable介面。

java集合架構collection(3)

聯繫我們

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