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 的元素是有序的

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