在 Java 中,判断 Set 是否为空(即不包含任何元素)推荐使用 isEmpty() 方法,而不是判断 size() == 0。
Set<String> set = new HashSet<>();
if (set.isEmpty()) {
System.out.println("Set 为空");
}
if (set.size() == 0) {
System.out.println("Set 为空");
}
isEmpty()?isEmpty() 明确表达“是否为空”Set 实现中,size() 可能需要遍历或计算,而 isEmpty() 只判断是否存在元素null)if (set == null || set.isEmpty()) {
System.out.println("Set 为空或为 null");
}
Set 实现都适用HashSet
TreeSet
LinkedHashSet
ConcurrentHashMap.newKeySet()
| 判断方式 | 是否推荐 | 说明 |
|---|---|---|
set.isEmpty() |
✅ 强烈推荐 | 语义清晰、安全 |
set.size() == 0 |
⚠️ 可用 | 不如 isEmpty() |
set == null |
❌ 不完整 | 只能判断引用是否为空 |
如果你是在 Stream / Lambda / 并发环境 中使用,也可以告诉我具体场景,我可以给你更合适的写法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。