源码来自:
JDK:jdk1.8.0_65
关于阅读顺序
理论上不要求按照任何顺序来阅读,但按照系列一.二…阅读有很多好处,比如Set依赖于Map实现,先看Map更容易理解Set
关于源码
所有文章的源码都不是完整的源码,而是精简过后的源码,减少篇幅 让理解很简单
关于源码解析套路
所有源码解析的流程基本都是一致的,从成员变量->增删改查的方法->增删改查用到的核心方法->以及扩展知识点(如果你自己去看源码又不知道如何入手的话可以参考一下),我的理解每个集合的大部分方法都是为了增删改查提供辅助的作用,所以我把它定为主线
笔误
碎片时间整理,难免会有笔误等情况,也很怕自己的一些理解以偏概全误导别人,所有的结论尽量都是通过实例来验证的,有支持的定下结论!如果有错误或者无法理解的语句希望能提出,我会持续维护,如果能认真看完该系列,对java集合肯定会有更深的理解
参考资料
- Oracle java8文档
- stackoverflow
- jdk1.8.0_65源码
- 部分图片来源于 http://www.quizful.net/post/Java-Collections(画图实在太耗时间了 扛不住)
- …还有一些记不住的
2019/6/18 22:16:29