怎么进行TreeSet源码解析

这篇文章给大家介绍怎么进行TreeSet源码解析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联专业为企业提供灵宝网站建设、灵宝做网站、灵宝网站设计、灵宝网站制作等企业网站建设、网页设计与制作、灵宝企业网站模板建站服务,十载灵宝做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

顾名思义今天我们介绍的TreeSet集合,底层就是通过TreeMap集合实现的。那么废话不多说,我们直接看TreeSet的初始化代码。

  • 初始化

怎么进行TreeSet源码解析

初始化和HashSet一样,就是默认调用了底层实现集合的无参构造方法。也就是直接创建了TreeMap对象,并且我们通过对TreeMap集合的分析知道,此时并没有执行底层数据结构的初始化动作,这也就说明,在我们通过无参构造方法创建TreeSet对象时,是不会执行底层数据结构的初始化的。那么初始化的动作也一定是发生在第一次调用add方法时。下面我们看一下TreeSet集合中的add方法的底层实现。

怎么进行TreeSet源码解析

HashSet中的add方法的实现逻辑基本和HashSet中的实现逻辑一样。都是直接调用了底层Map的实现类。也就是调用TreeMap中的put方法,并且将value值设置为Object。既然TreeSet底层是通过TreeMap实现的,那么我们很容易可以总结出TreeSet具有以下的特性:

  • 保存在TreeSet集合中的元素,必须保证能够排序

  • TreeSet集合中不能保存null元素,否则,虚拟机会抛出异常

  • TreeSet集合是有序的集合类,但是,不能保证元素的添加顺序与遍历顺序一致

  • TreeSet集合不是线程安全的集合类,在多线程环境使用时,要添加额外的同步代码,已保证线程安全

关于怎么进行TreeSet源码解析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

分享名称:怎么进行TreeSet源码解析
网址分享:https://www.cdcxhl.com/article14/jgcsge.html

成都网站建设公司_创新互联,为您提供动态网站网站排名网站导航企业建站面包屑导航自适应网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营