在 Java 中,Set 是 Collection 的子接口,用于存储不重复的元素。以下是常用的 Set 实现类及其特点:
HashSet(最常用)null 元素Set<String> set = new HashSet<>();
LinkedHashSetHashSetSet<String> set = new LinkedHashSet<>();
TreeSetnullSet<Integer> set = new TreeSet<>();
EnumSetSet<Day> set = EnumSet.of(Day.MONDAY, Day.TUESDAY);
CopyOnWriteArraySetCopyOnWriteArrayListConcurrentHashMap.newKeySet()ConcurrentHashMap| 实现类 | 是否有序 | 是否线程安全 | 底层结构 |
|---|---|---|---|
| HashSet | 否 | 否 | 哈希表 |
| LinkedHashSet | 插入顺序 | 否 | 哈希表+链表 |
| TreeSet | 排序 | 否 | 红黑树 |
| EnumSet | 枚举顺序 | 否 | 位向量 |
| CopyOnWriteArraySet | 插入顺序 | 是 | 数组 |
如果你有具体使用场景(如并发、排序、去重),我可以帮你推荐合适的 Set。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。