java第八章:集合容器之Set介面

來源:互聯網
上載者:User

標籤:速度   ash   添加   new t   二叉樹   equal   內容   對象   new   

                      Set介面(唯一,無序(添加順序))

         實作類別:HashSet (唯一,無序)                   TreeSet(唯一,有序(大小順序))

            子類:LinkedHashSet(唯一,有序(添加順序))

HashSet:採用雜湊表的儲存結構;在HashSet中添加元素,實現唯一性的原理:添加元素時候,會先調用Object中的hashcode()方法,計算雜湊碼,然後確定擺放的位置。如果雜湊碼不同,就不會調用Object中的equals()方法比較內容;如果雜湊碼相同,再調用equals()方法比較內容,內容相同了才能判斷是同一個對象,不再添加相同的;

優點:查詢,添加,刪除速度快;缺點:無序

LinkedHashSet:是HashSet的子類,採用雜湊表加鏈表格儲存體結構,有序的(添加順序)

TreeSet:採用二叉樹(紅/黑樹狀結構)的儲存結構,有序的(大小順序);底層是怎麼實現排序的:預設是按照元素的自然順序排列的,如果想按照某個屬性排序,new TreeSet(無參構造);需要類實現implements Comparable(),重寫其中的compare to(Object o)方法或者new TreeSet(Comparator c傳一個比較子),自己構造一個比較子來實現implements Comparator()介面,重寫其中的compare(Object o1 , Object o2)方法,

 

java第八章:集合容器之Set介面

聯繫我們

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