Java中判断HashSet是否为空应调用isEmpty()方法,时间复杂度O(1),语义清晰;若对象可能为null,须先判空:set != null && set.isEmpty()。

Java 中判断 HashSet 是否为空,最直接、高效的方式是调用其 isEmpty() 方法。
使用 isEmpty() 方法(推荐)
这是标准且语义清晰的做法,时间复杂度为 O(1),内部仅检查元素个数是否为 0。
-
set.isEmpty()返回true表示集合中没有元素;返回false表示至少有一个元素 - 比
size() == 0更具可读性,也避免了对数值比较的隐式依赖
通过 size() 判断(可行但不推荐)
虽然也能用,但不如 isEmpty() 直观和语义明确:
-
set.size() == 0同样能正确判断,但多了一次方法调用开销(尽管极小) - 在代码审查或协作中,
isEmpty()更易被理解为“是否为空”的意图
注意:不要用 null 检查代替空集合判断
isEmpty() 只适用于已初始化的 HashSet 对象。如果变量可能为 null,需先判空:
- 错误写法:
set.isEmpty()→ 若set == null会抛NullPointerException - 安全写法:
set != null && set.isEmpty()
简单示例
(实际使用时建议配合 null 安全处理)
HashSet<string> set = new HashSet();
System.out.println(set.isEmpty()); // true
set.add("hello");
System.out.println(set.isEmpty()); // false
</string>
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











