1. 程式人生 > 其它 >關於Java中的集合部分

關於Java中的集合部分

關於Java中的集合

集合的定義:集合指的是儲存物件的引用的類/介面。由於集合中元素(物件)的儲存方式不

同,所以每一種集合都代表一種資料結構。

集合的繼承結構圖

  • Iterablee介面(可迭代的,其中有一個iterator()方法用於獲取迭代器物件)

    • Collection介面

      • List介面(有序:集合中的元素有下標,可重複:存入集合中的元素可以相同)

        • ArrayList實現類(非執行緒安全,底層資料結構為陣列)

          • ArrayList集合可以自動擴容。擴容至原來的1.5倍。預設初始化容量是10

          • 陣列的優點:隨即增刪效率低,並且陣列無法儲存大容量的資料,因為很難找到一個連續的大容量空間。

          • 優點:向陣列末尾新增元素效率較高,查詢元素效率較高(原因:陣列儲存的每個元素所佔記憶體空間大小相同,並且陣列的記憶體地址是連續的,一次通過數學表示式即可計算出陣列中某個元素的下標)

        • LinckedList實現類(底層資料結構為雙向連結串列)

        • Vector實現類(執行緒安全的,但是效率低 ,因此不常用。底層資料結構為陣列,)

      • Set介面(無序:集合中的元素沒有下標,因此存入該集合中的元素和取出時的元素不一定相同。不可重複:存入該集合中的元素不可以重複)

        • HashSet實現類(底層資料結構為:雜湊表)

        • SortedSet介面(無序不可重複,可排序)

          • TreeSet實現類(底層資料結構為二叉樹)

  • Map介面(以鍵值對的方式儲存物件的引用,Map集合的key部分儲存的就是Set集合中的元素)

    • HashMap介面

    • Hashtable實現類(執行緒安全,但效率低)

      • Properties實現類(鍵值對必須都是以字串的形式存在)

    • SortedMap介面(可排序的)

      • TreeMap實現類(底層資料結構為二叉樹)