java - 在Java中为字符串添加前缀?

标签 java string concatenation

我知道在字符串中添加一个字符需要 O(1) 时间。例如:-

String S = "abc"
S = S+'z';

如果我想反之亦然,将字符串连接到字符中怎么办?这样也可以吗?

S = 'z'+S;

如果是的话,需要多长时间? Java 是复制 String S{O(n)} 的全部内容还是只是调整内存中的指针 {O(1)}?

谢谢!

最佳答案

字符串是不可变的。因此,这个操作(添加前缀)不可能是 O(1)。它至少与 S 的大小成线性关系。并且...因为 O(f(N)) 没有意义(想一想),其中 O(f(N)) > O(N),这意味着它的复杂度为 O(N)。仅凭常识就可以肯定这一点。

关于java - 在Java中为字符串添加前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24172642/

相关文章:

php - 假设的串联困境

javascript - 我试图将一个常量与一组其他 HTML 结合起来,但出现错误

java - ActiveMQ 配置和 Spring 表达式语言 (SpEL)

java - 如何检测十六进制字符串和标准字符串之间的差异

Java 在 BigInteger 中存储字符串

c++ - 错误 C2679 : binary '=' : no operator defined which takes a right-hand operand of type

mysql - UNION SELECT CONCAT 在 MariaDB/MySQL 之间的工作方式不同

java - 使用没有任何扩展点的 Eclipse 插件

java - 如何在加载 webview 后关闭我的进度对话框?

java - 对 DOM.getElementById 的 GWT 调用在应该的时候不会导致 NullPointerException