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

了解collection.isEmpty()和collection.size()==0之间的区别吗?[副本]

上官自明
2023-03-14

我读了很多关于isEmpty()size()0之间的区别的文章来检查collection是否为空,并且发现isEmpty()size()有性能,但是我很难理解为什么isEmpty()的性能好,即使里面isEmpty()只有size==0?

我的问题是:

>

  • 有没有人能简单地解释一下在哪种情况下isEmpty()速度更快,以及何时使用isEmpty()size()函数来检查collection是否为empty

    有没有人可以用代码或其他方式(图表等)来解释这一点,让任何初学者都能很容易地理解?

  • 共有1个答案

    茅和玉
    2023-03-14

    对于此类,您当然希望使用isempty()而不是size()==0

    (要理解为什么跳过列表是正确的,您需要阅读跳过列表的工作原理,但如果您想了解更多信息,请回来再问一个关于跳过列表的问题。)

     类似资料:
    • 问题内容: 最近,我偶然发现了JavaScript中的方法,并试图推断该方法与使用创建对象的新实例有何不同,以及何时要使用一个实例。 考虑以下示例: 请注意,在两种情况下都观察到相同的行为。在我看来,这两种情况之间的主要区别是: 实际上,中使用的对象构成了新对象的原型,而在声明的属性/函数中,并没有形成原型。 您不能像使用函数语法那样使用语法创建闭包。给定JavaScript的词法(与块)类型范围

    • 在哪种情况下,我们选择JRE_主页?如果我没有提到JRE_HOME,会发生什么?

    • 使用有什么区别吗: 从bash手册页上可以看出,它们是相同的,唯一的区别是,从用户角度来看,第二种格式更明确。

    • 问题内容: 我的Google-fu使我失败了。 在Python中,以下两个相等测试是否等效? 这是否适用于您要比较实例(list说)的对象? 好的,这样可以回答我的问题: 因此,==测试重视在哪里is进行测试以查看它们是否是同一对象? 问题答案: 如果两个变量指向同一个对象(如果变量引用的对象相等),则将返回。 在您的情况下,第二个测试仅能工作,因为Python会缓存小的整数对象,这是实现细节。对

    • 问题内容: Swift提供了关键字(和)检查对象是否可以成功向下转换: 而且还提供了原文: 对于符合的类,这真的有很大不同吗? 问题答案: 是的, 这是有区别的:在Swift中可以与任何类一起使用,而只能与属于或实现的那些类一起使用。

    • 问题内容: 和Python和有什么不一样? 我尝试环顾四周,但没有在这些线上找到具体问题。如果已经回答,则链接就足够了。 问题答案: 0和1是退出代码。 意味着干净出口,没有任何错误/问题 表示存在一些问题/错误/问题,这就是程序退出的原因。 这不是特定于Python的,非常普遍。非零退出代码被视为异常退出,有时,错误代码指示问题所在。错误代码为零表示成功退出。 这对于其他程序,shell,调用方