java如何执行set
执行 Set 的基本操作
在 Java 中,Set 是一个不包含重复元素的集合接口,常用实现类有 HashSet、LinkedHashSet 和 TreeSet。以下是常见的 Set 操作方法:
创建 Set
Set<String> set = new HashSet<>(); // 无序
Set<String> linkedSet = new LinkedHashSet<>(); // 保持插入顺序
Set<String> treeSet = new TreeSet<>(); // 自然排序
添加元素
set.add("Apple");
set.add("Banana");
set.add("Orange");
检查元素是否存在
boolean contains = set.contains("Apple"); // 返回 true 或 false
删除元素

set.remove("Banana"); // 删除指定元素
set.clear(); // 清空所有元素
遍历 Set
// 使用迭代器
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
// 使用 for-each 循环
for (String item : set) {
System.out.println(item);
}
// Java 8+ 的 forEach 方法
set.forEach(System.out::println);
Set 的常用方法
获取 Set 大小
int size = set.size(); // 返回元素数量
判断 Set 是否为空

boolean isEmpty = set.isEmpty(); // 返回 true 或 false
转换为数组
String[] array = set.toArray(new String[0]);
集合操作
并集(合并两个 Set)
Set<String> set1 = new HashSet<>(Arrays.asList("A", "B"));
Set<String> set2 = new HashSet<>(Arrays.asList("B", "C"));
set1.addAll(set2); // set1 变为 {A, B, C}
交集(保留共有元素)
set1.retainAll(set2); // set1 变为 {B}
差集(移除共有元素)
set1.removeAll(set2); // set1 变为 {A}
其他实现类的特性
- HashSet:基于哈希表实现,无序,插入和查询效率高(O(1))。
- LinkedHashSet:维护插入顺序,性能略低于
HashSet。 - TreeSet:基于红黑树实现,元素按自然顺序或自定义比较器排序(O(log n))。
// TreeSet 示例(自然排序)
Set<Integer> numbers = new TreeSet<>();
numbers.add(3);
numbers.add(1);
numbers.add(2);
// 输出顺序为 1, 2, 3
注意事项
Set不允许重复元素,重复添加会返回false。null元素:HashSet和LinkedHashSet允许一个null,TreeSet不允许。- 线程安全:标准
Set实现非线程安全,多线程环境需使用Collections.synchronizedSet()或ConcurrentHashMap.newKeySet()。






