开篇
集合框架的源码放在一篇文章篇幅就有些太长了,也不便于只想看其中一个时的查找,所以会更新一个系列文章,根据篇幅,对每个实现类的源码挖掘,都对应一篇或多篇文章来讲解
集合框架简述
Java的JDK中提供了对大量数据处理的封装,我们将它们称之为集合框架
本系列会介绍其中最常用的一些,深入源码,深度解析集合框架
它们可以分成单列集合和双列集合两个部分
单列集合的最顶层接口主要是Collection接口,它继承的Iterable目的是实现迭代器
这部分呢,单列集合最常用的就是它下面的实现类——ArrayList、LinkedList、Vector、HashSet、TreeSet、LinkedHashSet
类图关系如下:
双列集合最顶层接口为Map
常用的实现类有——HashMap、HashTable、TreeMap、ConcurrentHashMap、Properties
类图关系如下:
本系列会挨个进入这些实现类,挖掘一下源码,深入理解集合框架的底层原理
本系列的食用建议:
- 至少完整的学过一遍Java基础,对集合框架有一定的使用经验
- 源码中大量涉及到数据结构,最好是了解了一定数据结构知识
- 对面向对象有一定的理解
- 本系列不会泛泛的上来就去说List和Set的区别这种,死记这些东西只适用于突击面试的选手,如果你时间还多,挨个跟读源码,能跟下来能理解,回答八股文的问题都是小意思
前言
这里做一些前置说明
- 作为集合,顾名思义,是数据的集合,保存n个数据,在Java中万物皆为对象,也就是保存对象的集合
- 单列集合——集合中每一个位置只保存一个对象
- 双列集合——集合中每一个位置保存一个Key,Value键值对
- 既然是操作多个对象,一定有增加对象、删除对线、修改对象、查询对象的功能,后续简称为增删改查
- 本系列的源码阅读,主要就是涉及构造器和增删改查方法
评论