集合框架-Collection集合總結

ZHOU_VIP發表於2017-04-26

3:Collection集合總結(掌握)

Collection

    |--List    有序,可重複

        |--ArrayList

            底層資料結構是陣列,查詢快,增刪慢。

            執行緒不安全,效率高

        |--Vector

            底層資料結構是陣列,查詢快,增刪慢。

            執行緒安全,效率低

        |--LinkedList

            底層資料結構是連結串列,查詢慢,增刪快。

            執行緒不安全,效率高

    |--Set    無序,唯一

        |--HashSet

            底層資料結構是雜湊表。

            如何保證元素唯一性的呢?

                依賴兩個方法:hashCode()和equals()

                開發中自動生成這兩個方法即可

            |--LinkedHashSet

                底層資料結構是連結串列和雜湊表

                由連結串列保證元素有序

                由雜湊表保證元素唯一

        |--TreeSet

            底層資料結構是紅黑樹。

            如何保證元素排序的呢?

                自然排序

                比較器排序

            如何保證元素唯一性的呢?

                根據比較的返回值是否是0來決定

4:針對Collection集合我們到底使用誰呢?(掌握)

唯一嗎?

    是:Set

        排序嗎?

            是:TreeSet

            否:HashSet

    如果你知道是Set,但是不知道是哪個Set,就用HashSet。

    否:List

        要安全嗎?

            是:Vector

            否:ArrayList或者LinkedList

                查詢多:ArrayList

                增刪多:LinkedList

    如果你知道是List,但是不知道是哪個List,就用ArrayList。

如果你知道是Collection集合,但是不知道使用誰,就用ArrayList。

如果你知道用集合,就用ArrayList。

5:在集合中常見的資料結構(掌握)

ArrayXxx:底層資料結構是陣列,查詢快,增刪慢

LinkedXxx:底層資料結構是連結串列,查詢慢,增刪快

HashXxx:底層資料結構是雜湊表。依賴兩個方法:hashCode()和equals()

TreeXxx:底層資料結構是二叉樹。兩種方式排序:自然排序和比較器排序


相關文章