java中StringBuilder.append()的时间复杂度是多少?

What is the time complexity of StringBuilder.append() in java?

我正在开发的一个程序使用字符串生成器将整数数组转换为字符串。我正在尝试确定这种方法的时间复杂度。

查看:

基本上,不清楚 StringBuilder#append 的时间复杂度是多少,因为它取决于它的实现,所以你不必担心它。

可能有更有效的方法来处理 int[]-String 转换,具体取决于您实际想要实现的目标。

如果 StringBuilder 需要增加其容量,这涉及将整个字符数组复制到一个新数组。您可以通过初始设置容量来避免这种情况,这样它就不必这样做。 (这应该很容易,因为您知道 int 数组的长度和 intString 表示中的最大字符数。)

如果避免增加容量的需要,复杂度似乎只是O(n)。附加时,您只是将字符数组从 String 复制到 StringBuilder.

中字符数组的末尾

(是的,这取决于实现,但如果它不能在 O(n) 时间内追加,那将是 StringBuilder 的一个相当糟糕的实现。)