Java Set Summary
Java Set Summary
一、概要
Set 6个
类名 | since | 线程安全 | element null | 特点 |
---|---|---|---|---|
Set | 1.2 | |||
HashSet | 1.2 | No | Yes | 基于HashMap实现 |
TreeSet | 1.2 | No | No | 基于TreeMap实现 |
LinkedHashSet | 1.4 | No | Yes | 继承自HashSet 通过前后节点维护元素添加顺序 |
EnumSet | 1.5 | No | No | 用于枚举类型的专用Set实现 抽象类,有两个具体实现 |
CopyOnWriteArraySet | 1.5 | Yes | Yes | 基于CopyOnWriteArrayList实现 add操作通过List的addIfAbsent实现 只适合元素数量较少,且多读少写的场景 |
ConcurrentSkipListSet | 1.6 | Yes | No | 基于ConcurrentSkipListMap实现 元素可排序 |
二、探究
1、为什么没有ConcurrentHashSet?
# since 1.6
Set<String> jdk_6 = Collections.<String>newSetFromMap(new ConcurrentHashMap<>());
# since 1.8
Set<String> jdk_8 = ConcurrentHashMap.<String>newKeySet();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-03-09 人形词云,根据图片黑白形状绘制词云
2020-03-09 汉化的simple词云
2020-03-09 对于数据的平均值处理
2020-03-09 文字替换成函数返回数字进行排序
2020-03-09 校验
2020-03-09 Python:使用lambda对列表(list)和字典(dict)排序
2020-03-09 python中的数据排序