集合源码
顿字有七
点滴尽在每天,我所学的不过是冰山一角的十分之一,但庆幸还年少。
展开
-
HashMap详解
前言 基于的版本为JDK1.8的,不过红黑树的方法详解,不会在这里去说,之后会有数据结构,来对此解释,HashMap的源码,涉及了大量的二进制的操作,不了解的,可以看下我发的二进制的解释。 构造器: HashMap有四个构造器,这里介绍了三个常用的构造器。 public ExHashMap() { //加载因子,默认为0.75,用于确定临界值的 this.loadF...原创 2019-08-04 16:29:51 · 97 阅读 · 0 评论 -
手写ArrayList集合
前言 最近仔细的研究了下集合框架的源码,并完全手写下来,这里将每一步的进展记录下来,欢迎指点。 构造器: ArrayList的构造器,分别为无参构造器、传入初始大小的有参构造器、传入一个集合类型的有参构造器,这里只介绍前面两种常用的构造器。 无参构造器: ArrayList的底层实际就是使用数组来实现的,我们创建一个数组,用于之后对ArrayList的操作。 //ArrayList底层就是用Obj...原创 2019-07-27 15:33:59 · 151 阅读 · 0 评论 -
手写LinkedList集合
前言 上一篇介绍了ArrayList的一个源码,这遍我们来介绍在List下的另一个常用的类,LinkedList,和ArrayList总是用来比较,实现方式和ArrayList还有很多不同的。 构造器: 首先,我们应该知道两类集合的底层实现是不同的,ArrayList的底层结构是数组,所以需要在初始化的时候,去申请一块连续的内存空间,空间不够了还要去选择扩容,而LinkedList的底层结构是链表...原创 2019-07-28 15:06:49 · 119 阅读 · 0 评论