当前位置: 首页 > 知识库问答 >
问题:

在Java中检查集合是否为空:哪种方法是最好的?

漆雕原
2023-03-14

我有两种方法来检查列表是否为空

if (CollectionUtils.isNotEmpty(listName)) 

而且

if (listName != null && listName.size() != 0)

我的拱门告诉我前者比后者好。但我认为后者更好。

谁能澄清一下吗?

共有1个答案

盖雪峰
2023-03-14

您绝对应该使用isEmpty()。计算任意列表的size()可能非常昂贵。当然,即使是验证它是否有任何元素也可能是昂贵的,但是对于size()没有优化,它不能使isempty()更快,相反情况并非如此。

例如,假设您有一个链表结构,它没有缓存大小(而linkedlist 缓存)。那么size()将变为O(N)操作,而isempty()仍然是O(1)

此外,当然,使用isempty()可以更清楚地说明您实际感兴趣的内容。

 类似资料:
  • 问题内容: 我有两种检查列表是否为空的方法 和 我的拱门告诉我,前者比后者更好。但是我认为后者更好。 任何人都可以澄清一下吗? 问题答案: 您应该 绝对 使用。计算任意列表的可能会很昂贵。即使确认是否有任何元素 可以 是昂贵的,当然,但没有优化不能 也 让速度更快,而相反的情况并非如此。 例如,假设你有一个链表结构,它 并没有 缓存的大小(而 做 )。然后将变为O(N)运算,而仍为。 当然,另外,

  • rank ▲ ✰ vote url 15 789 144 1269 url 检查列表是否为空的最好方法 例如,传递下面: a = [] 我怎么检查a是空值? if not a: print "List is empty" 用隐藏的空列表的布尔值才是最Pythonic的方法.

  • 我有一个具有如下结构的集合对象: 我该怎么办?非常感谢,很抱歉我的英语不好!

  • 问题内容: 我要实现以下功能: 如何检查向量元素类型? 请注意, 向量可能为空,因此我无法检查第一个元素是“ instanceof”整数还是String … 编辑: 好吧,我脑子里有个念头,我不知道它是否会起作用 我可以按以下方式实现checkType函数: 是否可以检查T是否为整数?! 提前致谢 问题答案: *由于 类型擦除, *泛型类型参数 在运行时不可恢复(某些特殊情况除外)。这意味着在运行

  • 问题内容: 我有一个游标,带有来自选择的值,我想根据我是否发现任何行来做点什么。 这似乎不起作用,有帮助吗? 问题答案: 您需要在使用%FOUND属性之前对游标执行FETCH。将您的代码更改为类似 请注意,您可能需要将变量添加到FETCH语句的INTO子句中,在TABLE1和TABLE2中的每一列都需要添加一个变量。还要注意,编写此游标的方式可能会获得比预期更多的返回行。因为没有指定连接条件,所以