Java中各種集合總結(一)

來源:互聯網
上載者:User

標籤:添加   索引   inf   ffffff   資料   table   c99   適用於   tor   

(一)集合與數組

數組:(存基礎資料型別 (Elementary Data Type))-->存對象的一種容器,長度固定,【不適合在對象數量未知的情況下使用】

集合:(存對象,物件類型可以不一樣)-->長度可變,可在多數情況下使用。

(二)層次關係

1.0 :圖中,實線邊框的是實作類別,折線邊框的是抽象類別,而點線邊框的是介面:

 

2.0 其中集合的 詳解

①Collection介面【集合類  ”根介面“;Java中沒有這個介面的直接實作類別】----(有兩個兒子)---->

    List:(有序、重複)--(又有倆兒兒子)-->

             ArrayList:底層資料結構--->【動態數組   ;線程不安全,效率高】--->查詢快,增刪慢【移動所有資料】。

             LinkedList :底層資料結構--->【鏈表;線程不安全,效率高】--->查詢慢,增刪快。【特別適用於批量插入刪除資料

             Vector:底層資料結構--->【數組;安全執行緒,效率低】-->查詢快,增刪慢

     Set:(無序、唯一)--->提供了按索引訪問的方式。

              HashSet:底層結構--->【雜湊表---依賴倆兒方法->hashCode()和equals()】(一般規則:對象equals 是true的話,hashCode需要相同,但是hashCode相同的對象不一定equals,這就是所謂的衝突現象,但是有不同的衝突解決方案。你的hashCode()設計的好的話衝突也就小了。比如樓上給出的超出int範圍之後這種hashCode()實現,對象肯定是無數的,但是hash實現是有限的呢,所以衝突了。)

              TreeSet: 底層結構--->【紅/黑樹狀結構】:一種自平衡的二叉樹。傳回值是否為0-->唯一性;

               LinkedHashSet【有序,不重複】:底層結構--->【鏈表和雜湊表】鏈表保證有序;雜湊表保證-->唯一

②Map:(索引值對、鍵唯一、值不唯一)與Collection介面獨立的,另一個介面。--->Map包含了key-value對。Map不重複的key,但可有相同的value。

               HashMap:底層結構-->【雜湊表;線程不安全,效率高--依賴倆兒方法-->hashCode()和equals()判斷是否添加到集合】

               Hashtable:底層結構--->【雜湊表;安全執行緒效率低】-->依賴倆兒方法->hashCode()和equals()

               LinkedHashMap: 底層結構--->【鏈表和雜湊表】:鏈表保證有序;雜湊表保證唯一。

               TreeMap: 底層結構--->【紅/黑樹狀結構】傳回值是否為0-->唯一性

③Iterator:所有的集合類-->都實現這個介面。【遍曆集合元素的介面】用法:

             (1)hasNext()是否還有下一個元素。

             (2)next()返回下一個元素。

             (3)remove()刪除當前元素。

3.0 幾種重要介面和類的對比:

 

             

             

 

Java中各種集合總結(一)

聯繫我們

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