Java 集合框架源码解读系列文章索引

集合框架系列包含的文章较多,本篇将系列涉及的文章整理出一个索引,便于查找。
版本说明:本系列源码解读基于 JDK1.8,请注意区分版本差异。

集合框架的类关系图如下:
在这里插入图片描述
下面以图表的形式对各个集合的实现进行对比:

类名底层结构是否允许重复元素是否允许元素为空是否线程安全线程安全的实现方式扩容时机扩容机制文章链接
ArrayList数组-数组填满时扩容至原来的1.5倍查看
CopyOnWriteArrayList数组AQS每次添加元素时每次加一查看
LinkedList双向链表---查看
LinkedBlockingQueue单向链表AQS--查看
ArrayBlockingQueue数组AQS--查看
SynchronousQueue队列或栈AQS--查看
Vector数组synchronized元素数量超过数组长度时每次扩容指定的长度或者扩容至原来的两倍查看
Stack数组synchronized同 Vector同 Vector查看
ArrayQueue待发布
TreeSet待发布
HashSet待发布
LinkedHashSet待发布
类名底层结构是否允许值为空是否线程安全线程安全的实现方式扩容时机扩容机制文章链接
TreeMap红黑树---查看
HashTable数组+单向链表synchronized元素数量大于扩容阈值时单线程扩容,扩容后容量为原来的2倍加一查看
HashMap数组+单向链表-元素数量大于扩容阈值时单线程扩容,扩容后容量为原来的2倍查看
LinkedHashMap数组+单向链表-元素数量大于扩容阈值时单线程扩容,扩容后容量为原来的2倍查看
ConcurrentHashMap数组+单向链表CAS+synchronized元素数量大于扩容阈值时并发扩容,扩容后容量为原来的2倍查看
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值