在 Java 中,Set 是一种不包含重复元素的集合,属于 java.util 包,是 Collection 接口的子接口。
false)。HashSet)。TreeSet、LinkedHashSet)。null
HashSet、LinkedHashSet 允许一个 nullTreeSet 不允许 null(否则会抛异常)Set<String> set = new HashSet<>();
特点:
null示例:
Set<String> set = new HashSet<>();
set.add("A");
set.add("B");
set.add("A"); // 不会添加成功
System.out.println(set); // [A, B]
Set<String> set = new LinkedHashSet<>();
特点:
HashSetHashSet示例:
Set<String> set = new LinkedHashSet<>();
set.add("B");
set.add("A");
set.add("C");
System.out.println(set); // [B, A, C]
Set<String> set = new TreeSet<>();
特点:
null示例:
Set<Integer> set = new TreeSet<>();
set.add(3);
set.add(1);
set.add(2);
System.out.println(set); // [1, 2, 3]
Set<String> set = new HashSet<>();
set.add("A"); // 添加
set.remove("A"); // 删除
set.contains("A"); // 是否包含
set.size(); // 元素个数
set.isEmpty(); // 是否为空
set.clear(); // 清空
| 对比项 | Set | List |
|---|---|---|
| 是否允许重复 | ❌ 不允许 | ✅ 允许 |
| 是否有序 | 不一定 | ✅ 有序 |
| 是否可索引 | ❌ | ✅ |
| 常用实现 | HashSet、TreeSet | ArrayList、LinkedList |
✅ 去重
✅ 判断是否存在(contains)
✅ 集合运算(交集、并集、差集)
去重示例:
List<String> list = List.of("a", "b", "a");
Set<String> set = new HashSet<>(list);
System.out.println(set); // [a, b]
HashMapkey,value 是一个固定对象TreeMap如果你愿意,我也可以:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。