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();
标签:Set,Java,1.2,No,since,Summary,Yes
From: https://www.cnblogs.com/my-global/p/17182400.html