LinkedHashSet 源码分析

时间:2022-05-08
本文章向大家介绍LinkedHashSet 源码分析,主要内容包括LinkedHashSet 源码分析、好的介绍完了!!! :)、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

LinkedHashSet 源码分析

1. 在阅读源码时做了大量的注释,并且做了一些测试分析源码内的执行流程,由于博客篇幅有限,并且代码阅读起来没有 IDE 方便,所以在 github 上提供JDK1.8 的源码、详细的注释及测试用例。欢迎大家 star、fork ! 2. 由于个人水平有限,对源码的分析理解可能存在偏差或不透彻的地方还请大家在评论区指出,谢谢!

1. 基本结构

   如果你看了 HashSet 现在基本一分钟就能弄明白 LinkedHashSet 的底层原理。里面没有任何字段,只有一个序列化 id,这个我们不说。然后他继承的是 HashSet ,有没有注意到简直就和 LinkedHashMap 一个套路,然后就调用一下父类的构造方法,但是调用的父类的构造方法都是同一个,很明显肯定是那个比较特殊的构造,也就是只能在包内访问,并且比其他的方法多一个 bool 参数的那个,因为它能指定底层的数据结构是 LinkedHashMap ,这也就解释了为什么 LinkedHashSet 中的四个方法都是 public 的,而最后一个是 default

好的介绍完了!!! :)