前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HashSet原理部分解读

HashSet原理部分解读

作者头像
关忆北.
发布2021-12-07 16:39:07
2080
发布2021-12-07 16:39:07
举报
文章被收录于专栏:关忆北.

HashSet由HashMap支持,允许元素数据为空,没有重复元素,但元素无法保证有序, HashSet是非同步的。如果多个线程同时访问一个哈希 set,而其中至少一个线程修改了该 set, 那么它必须 保持外部同步。如果非同步,则会报错ConcurrentModificationException,其正是 因为HashSet具有fail-fast特性(该异常除调用自身remove外)。

transient: 序列化对象的时候,这个属性就不会序列化到指定的目的地中。 fail-fast: 快速失效系统一种可以立即报告任何可能表明故障的情况的系统。快速失效系统通常设计用于停止正常操作,而不是试图继续可能存在缺陷的过程。这种设计通常会在操作中的多个点检查系统的状态,因此可以及早检测到任何故障。快速失败模块的职责是检测错误,及时抛出错误,以免错误允许到下一步。

HashSet的底层是基于HashMap实现的,由源码可见,HashSet引入了HashMap的成员变量,HashSet的默认构造方法是通过new的方式创建了一个HashMap的对象,默认长度是16,负载因子是0.75.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

当调用add方法向HashSet中添加元素时,添加的元素会被放入hashMap的key中,value为一个Object对象的键值对,这个Object对象是HashSet的一个常量,它是一个虚拟值,无实际含义。

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/02/19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档