集合

集合

  • Collection

    • 单列集合
  • Map

    • 双列集合(键值对)
  • 关系图

    • 关系图
  • List子类

    1. ArrayList
      • 底层数据结构是数组。线程不安全
    2. LinkedList
      • 底层数据结构是链表。线程不安全
    3. Vector
      • 底层数据结构是数组。线程安全(大量同步方法) 已被替代
  • Set子类

    1. HashSet
      • 底层数据结构为HashMap的key
    2. TressSet
      • 底层数据结构是红黑树(是一个自平衡的二叉树)
      • 保证元素的排序方式
    3. LinkedHashSet
      • 底层数据结构由哈希表和链表组成。LinkedHashMap
  • Map子类

    1. HashMap
      • 底层结构为数组+链表或红黑树 线程不安全
      • 数组部分叫做哈希桶
      • 链表长度大于等于8时,转为红黑树储存
      • 长度降到6时,转为链表
    2. LinkedHashMap
      • 底层为HashMap和双向链表
    3. TreeMap
      • 底层为红黑树
      • key不能为null 要comparator
  • 线程安全相关集合类

    • Vector或者Collections.synchronizedList(new ArrayList())
      • 过时的 只是将方法变成同步方法
      • 还是会产生线程不安全的 如果交替多线程使用不同的方法 会报错
    • HashTable
      • 过时的 只是将方法变成同步方法
      • key不能为null 因为要求必须实现hashCode方法和equals方法。
    • ConcurrentHashMap
      • cas乐观锁+细粒度同步方法
    • CopyOnWriteArrayList
      • 写的方法内自带锁 读不加锁
      • cas乐观锁+自带锁
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值