【问题标题】:JAVA - length() in a for loop [duplicate]JAVA - for 循环中的长度()
【发布时间】:2017-03-16 08:54:40
【问题描述】:

在 for 循环或任何类型的循环中使用 'str.length()' 是不是很糟糕? 这会使 O(n^2) 复杂度吗? 如果不好,我们可以把它赋值给一个变量,然后用这个变量代替,对吧?

【问题讨论】:

  • “这会导致 O(n^2) 复杂度吗?” - 我不知道你为什么会这么想。不,还不错(你为什么这么认为?)

标签: java string loops for-loop complexity-theory


【解决方案1】:

没有。 String 是不可变的,length() 的复杂度为 O(1)。只需返回已经初始化的数字。

https://github.com/openjdk-mirror/jdk7u-jdk/blob/master/src/share/classes/java/lang/String.java

编辑:感谢真正的怀疑论者

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 1970-01-01
    • 2023-01-25
    • 2012-10-03
    • 2022-06-13
    • 1970-01-01
    • 2015-03-21
    相关资源
    最近更新 更多