Java集合框架源码研读-LinkedHashSet

在上一篇文章中,我们介绍了HashSet.今天我们就来介绍一下LinkedHashSet.

其实HashSetLinkedHashSet的关系,就跟HashMapLinkedHashMap的关系一样.

LinkedHashSet是通过实例化一个LinkedHashMap来实现按序访问,只不过LinkedHashSet不允许我们指定按照哪种顺序进行排序,而只是默认按照元素插入的顺序排序.

关于LinkedHashMap的实现原理,请参考我的文章:Java集合框架源码研读-LinkedHashMap

我们看LinkedHashMap的源码,从中根本就看不到跟存储元素插入顺序相关的任何数据结构.

其实,其实现的重点在于其构造函数上,我们看一下其构造函数:

由于LinkedHashSet的父类是HashSet,所以我们查看一下HashSet中相关的构造函数:

看到了吧?就是初始化的一个LinkedHashMap

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 4,295评论 0 16
  • 最近在研究java源码,就是看一看别人写好的东西,也不算是研究。知根知底的对以后的学习会有很大的帮助,我先去了解一...
    苏州丸子阅读 836评论 0 5
  • 数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作。Java提供了几个能有效地...
    吕侯爷阅读 2,084评论 0 10
  • 上一篇文章介绍了Set集合的通用知识。Set集合中包含了三个比较重要的实现类:HashSet、TreeSet和En...
    Ruheng阅读 15,748评论 3 57
  • 我出生在北京,十九岁之前几乎没有在其他城市生活过。然而生活在北京的这十九年间,我对这座城市标志性的景色却没有十分深...
    鼻音子阅读 215评论 0 1