1. 程式人生 > >集合 學習的簡單總結

集合 學習的簡單總結

集合總結
一、collection(單列集合)

      list (存取有序,有索引,可以重複)

            ArrayList底層是陣列實現的,執行緒不安全,查詢和修改快,增刪比較慢(可以儲存重複,無序)

           Linkedlist 底層是連結串列實現的,執行緒不安全,增刪比較快,查詢比較慢

      vector 底層是陣列實現的,執行緒安全的,增刪改查都慢

            如果查詢和修改多,用ArrayList
            如果增刪多,用linkedlist
            如果都多,用ArayList

      set(存取無序,無索引,不可重複)

           HashSet  底層是雜湊演算法實現(開發時多用,效率較高)(可以去掉重複元素,無序)

           LinkedHashSet 底層是連結串列實現的,但是也可以保證元素唯一,和HashSet原理一樣 (有序,是唯一一個怎麼存就怎麼取的)

          TreeSet 底層是二叉樹演算法實現(面試時用到,幾種排序方式的區別) 。TreeSet儲存Integer型別的元素是可以用來對元素進行排序的(按字典順序),也可以保證元素的唯一(不可儲存重複)

這裡寫圖片描述
二、Map(雙列集合)
HashMap 底層是雜湊演算法,針對鍵(開發中用到的比較多),(可以去掉重複元素,無序)

    LinkedHashMap 底層是連結串列,針對鍵

    TreeMap 底層是二叉樹演算法,針對鍵