Java—Collection與Map子類結構特點

 

Collection  <類型>

    List 可以重複,有順序

            ArrayList     主選 

            結構:數組      特點:查找快,增刪慢         線程不安全,效率高

            Vector

            結構:數組      特點:查找快,增刪慢          線程安全,效率低

            LinkedList

            結構:鏈表      特點:查找慢,增刪快          線程不安全,效率低

    Set  唯一性,沒有順序

            HashSet

            結構:哈希表     通過hashCode()、equals()保證元素的唯一性     元素的排列是無序的   線程不安全

            LinkedHashSet

            結構:鏈表+哈希表    通過hashCode()、equals()保證元素的唯一性      由鏈表保證元素有序   線程不安全

            TreeSet

            結構:紅黑樹     排序方法有自然排序、比較器排序    唯一性通過存放值時比較返回值是否爲0,0既有相同值   線程不安全

            TreeSet實現了對TreeMap的封裝

Map<key,value>

    HashMap    主選

            結構:哈希表(數組+鏈表)   只允許一個key爲null,可多個值爲null    線程不安全

            通過hashCode()、equals()保證元素的唯一性,hashCode()定位數組,equals定位鏈表位置

            實現了Serializable接口,因此它支持序列化,實現了Cloneable接口,能被克隆

   HashTable

            結構:哈希表     不允許null做爲key   線程安全

            實現了Serializable接口,它支持序列化,實現了Cloneable接口,能被克隆

   TreeMap

            結構:紅黑樹      排序方法有自然排序、比較器排序      線程不安全

    LinkedHashMap  

            結構:數組+雙鏈表    線程不安全   繼承自HashMap

            實現了Serializable接口,它支持序列化,實現了Cloneable接口,能被克隆

            與HashMap相比,LinkedHashMap 的元素是有序的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章