![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码分析
文章平均质量分 73
悠然境
采菊东篱下,悠然见南山。
展开
-
Java中的的Map系列集合(双列集合)及其源码分析
Java中双列集合的详细解读原创 2023-11-24 20:31:06 · 207 阅读 · 1 评论 -
Java中Set系列集合
Java中Set集合学习和源码分析原创 2023-11-14 13:48:54 · 47 阅读 · 1 评论 -
Java泛型深入
泛型的深入了解原创 2023-11-11 17:06:38 · 40 阅读 · 1 评论 -
Iterator迭代器底层源码分析
结论:如何避免并发修改异常:在使用迭代器或者是增强for遍历集合的过程中,不要使用集合的方法添加或者删除元素即可。获取elementData的i索引元素并返回。= expectedModCount,现在集合修改的次数和创建对象时修改的次数。modCount:集合变化的次数,add或者remove方法中modCount会++int lastRet:上一次操作的索引,例如初始是0,前一个就是-1。2.定义i = cursor:记录当前指针指向的索引位置。int cursor:光标:迭代器中的指针(初始为0)原创 2023-11-11 09:56:57 · 23 阅读 · 1 评论 -
LinkedList底层源码分析
4.此时判断l是否为null,此时不为,进入判断体,l.next = newNode,将第一个Node对象的下一个结点地址值赋值为新Node对象的地址值。2.再次创建一个Node对象,此时存放:尾结点地址值(上述Node对象的地址值)、bbb、下一个结点的地址(此时为null)3.堆中开辟一个空间存放Node对象,空间中存放尾结点的地址值此时为null、添加的元素、下一个结点的地址值此时为null。2.通过add方法(添加的元素),再次进入linkLast(添加的元素)方法,原创 2023-11-11 09:54:41 · 20 阅读 · 1 评论 -
ArrayList底层源码分析
2.添加第一个元素时,底层会创建一个新的长度为10的数组,这个数组有个名字叫:elementData。集合底层会再新建一个原数组长度*1.5倍长度的新数组,将原数组元素拷贝进新数组,再添加。5.如果一次添加多个数据,扩容1.5倍也放不下,则新创建数组的长度以实际为准。例如原数组有10个元素,此时要添加100个元素,则新数组长度为:110。3.如果已经添加了10个元素,数组存满了,此时还要继续存元素,1.利用空参创建的集合,在底层创建一个默认长度为0的数组。size:代表集合中元素个数,下次存入的位置。原创 2023-11-11 09:53:27 · 25 阅读 · 0 评论