![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 95
雪蓑
一只Java菜鸟
展开
-
HashMap硬核源码分析
实现接口: //1、HashMap继承了抽象Map接口 实现了可复制、可序列化接口 public class HashMap extends AbstractMap implements Map, Cloneable, Serializable {}属性://表示数组的默认大小是16 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //表示数组的最大值 static final int MAXIMUM_CAPAC原创 2021-08-16 16:33:25 · 581 阅读 · 0 评论 -
Java中的集合框架
背景在我们的日常开发中经常会使用到集合,比如ArrayList、HashMap等,你是不是平时就只用这俩?哈哈 别装就是说的你,开个玩笑。集合框架是在Java.Util包下的,它是从Java1.2才开始完善的,在此之前呢,也有几个比如Vecctor、Dictionary等。Collection我们来简单看一下Java整个集合框架的架构:在介绍之前先说一下:任何架构(我认为是的),都具有高度的抽象思维,大师们会把最公共的功能抽象成为接口,比如这里最顶层接口Collection / Ma..原创 2021-05-26 15:50:21 · 186 阅读 · 1 评论 -
LinkedList源码分析(Java8)
LinkedList1、特点底层是一个链式结构的集合是双向链表,当前节点都会保存前一个节点的引用和后一个节点的引用在内存空间中存储不是连续的,并且也不是循序的允许空值存在2、 构造方法(1)无参: public LinkedList() { }(2)包含另一个集合: public LinkedList(Collection<? extends ...原创 2020-01-16 14:39:04 · 138 阅读 · 0 评论 -
ArrayList源码分析(Java8)
ArrayList集合1、特点:- 底层是Object[] 的数组- 在内存中是连续的内存空间、并且按照顺序进行存储的- 允许有空值存在- 初始化大小为10*注意:1、因为是连续的存储空间,所以在查找某个位置数据是很快的,往中间插入数据是很慢的。2、只有同一种数据类型的数据才可以放在同一个数组当中。3、在往集合添加数据的时候需要检查集合是否需要扩容,扩容操作对于性能而言消耗是很...原创 2020-01-16 12:03:54 · 190 阅读 · 0 评论