JAVA中列表,集合之間的區別

來源:互聯網
上載者:User

標籤:inner   key   link   比較   實現   適合   between   影響   索引   

整體來看List,Set,Map都是實現了Collection介面的介面。

  1. 重複性:
    • List允許存在重複的元素,也就是說List中可以在不影響現有元素的值及其索引的同時插入新的重複元素。
    • Set不允許存在重複的元素,Set集合都不允許插入重複元素。
    • Map是一種以索引值對形式儲存元素的映射類型集合,對Map而言key(鍵)是唯一的,value(值)是可重複的。
  2. 空值性:
    • List允許任意數量的空值。
    • Set最多允許一個空值。
    • Map只允許出現一個空鍵,但允許任意數量的空值。
  3. 排序性:
    • List保持每個元素的插入順序。
    • Set中的元素都是無序的,但某些Set的實作類別可以以某種順序對其中的元素進行排序。(PS:LinkedHashSet按照元素的插入順序進行排序。)
    • Map與Set一樣對元素驚醒無序儲存,但Map某些實作類別也會對元素進行排序。(PS:TreeMap按照鍵對其中的元素進行升序排序,LinkedHashMap按照每個元素的插入順序進行排序)
  4. 實作類別:
    • List:ArrayList、LinkedList等等。
    • Set:HashSet、LinkedHashSet、TreeSet、SortedSet等等。
    • Map:HashMap、TreeMap、WeakHashMap、LinkedMashMap、IdentityHashMap等等。
  5. 使用情境:
    • 如果需要時常根據元素的索引值進行查詢操作,那麼List(ArrayList)是一種不錯的選擇。
    • 如果你的資料不允許重複的值存在,Set是比較適合的選擇。
    • 如果需要保留每個元素的插入順序,那麼首選還是List集合。
    • 如果你的資料需要進行key-value映射,那麼就用Map。

原文引用:JAVA教程

    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.