常见集合的特点

  • Collection
    无序,不唯一
    • List
      有序,不唯一,允许有null值
      • Vector(已淘汰)
        底层为数组
        有序,不唯一,允许有null值
        查询快,增删慢
        线程同步,安全
      • ArrayList
        底层为数组
        有序,不唯一,允许有null值
        查询快,增删慢
        线程异步,不安全
      • LinkedList
        底层为链表
        有序,不唯一,允许有null值
        增删快,查询慢
        线程异步,不安全
        额外实现了Deque接口,可以被当作队列使用
    • Set
      无序,唯一,最多允许有一个null值
      • HashSet
        底层为HashMap
        无序,唯一,最多允许有一个null值
        操作数据快
        线程异步,不安全
        需重写hashCode()和equals()
        • LinkedHashSet
          底层为LinkedHashMap
          有序,唯一,最多允许有一个null值
          操作数据快
          线程异步,不安全
      • TreeSet
        底层为TreeMap
        有序,唯一,不允许有null值
        操作数据快
        线程异步,不安全
        需实现比较器
  • Map
    Key-Value键值对(Entry)
    无序
    Key唯一,最多允许有一个null值
    Value不唯一,允许有null值
    • HashTable(已淘汰)
      底层为散列表
      无序
      不允许有null值
      操作数据快
      线程同步,安全
      Key需重写hashCode()和equals()
    • HashMap
      底层为散列表
      无序
      Key唯一,最多允许有一个null值
      Value不唯一,允许有null值
      操作数据快
      线程异步,不安全
      Key需重写hashcode()和equals()
      • LinkedHashMap
        底层为链表
        有序
        Key唯一,最多允许有一个null值
        Value不唯一,允许有null值
        操作数据快
        线程异步,不安全
    • TreeMap
      底层为红黑树
      有序
      Key唯一,不允许有null值
      Value不唯一,允许有null值
      操作数据快
      线程异步,不安全
      Key需实现比较器

你可能感兴趣的:(常见集合的特点)