![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码分析
祥子_每周一更
这个作者很懒,什么都没留下…
展开
-
基于jdk1.8的Vector源码分析
Vector的特点底层数据结构为数组元素排列有序、可重复线程安全的,synchronized关键字Vector可以指定扩容因子,扩容大小为,当增长因子大于0时,则newCapacity = oldCapacity + capacityIncrement;当增长因子不大于0时,则newCapacity = oldCapacity +oldCapacityVector的构造方法// initialCapacity:初始化数组大小;capacityIncrement:增长因子public Vec.原创 2020-05-30 09:25:43 · 133 阅读 · 0 评论 -
基于jdk1.8的HashSet源码分析
文章目录HashSet特点:成员变量HashSet特点:底层由HashMap支持不能重复、无序线程不安全成员变量public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable{ static final long serialVersionUID = -5024744406713321676L;原创 2020-05-30 09:24:38 · 152 阅读 · 0 评论 -
基于jdk1.8的HashMap源码分析
文章目录HashMap特点HashMap成员变量静态内部类(Hash桶存储的节点的数据结构)HashMap构造函数HashMap添加键值对关键步骤HashMap和HashTable的区别HashMap特点1.底层采用数组+链表+红黑树的数据结构;2.key和value都允许为null;key不能重复3.排列无序4.线程不安全:java.util.Collections#synchronizedMap使HashMap具备线程安全的能力,或者使用ConcurrentHashMap;HashMap原创 2020-05-30 09:17:22 · 206 阅读 · 0 评论 -
基于jdk1.8的LinkedList的源码分析
基于jdk1.8的LinkedList的源码分析LinkedList的特点排列有序可重复底层使用双向链表数据结构查询速度慢,增删快线程不安全理解LinkedList主要需要理解几个概念:首节点:只要指导首节点就可以根据首节点的下一个节点依此查找到其他节点。尾节点:通过尾节点的上一个节点就可以依次查找到其他节点。节点:节点包含上一个节点、节点元素、下一个节点;每一个节点需要保存上一个节点和下一个节点。对LinkedList的操作都是改变节点中上一个节点和下一个节点的指向。Linke.原创 2020-05-23 21:08:53 · 142 阅读 · 0 评论 -
深入 理解ArrayList实现原理
文章目录基于jdk1.8的ArrayList原码分析ArrayList的成员变量ArrayList的构造方法ArrayList的扩容机制ArrayList的三种遍历方式ArrayList的remove(int index)方法基于jdk1.8的ArrayList原码分析ArrayList的特点:底层数据结构为数组元素排列有序、可重复、可以为null线程不安全元素查找快,增删慢扩容大小为:原先数组大小乘以1.5ArrayList的成员变量public class ArrayLis原创 2020-05-23 20:41:41 · 353 阅读 · 0 评论