重复一次字符串 n 次

问题:创建一个包含 n 重复的 String sString

琐碎的方法将重复连接 String

final int n = ...
final String s = ...
String result = "";

for (int i = 0; i < n; i++) {
    result += s;
}

这创建了 n 个新的字符串实例,其中包含 1 到 n 重复的 s,从而导致 O(s.length() * n²) = O(s.length() * (1+2+...+(n-1)+n)) 的运行时间。

为了避免这种情况,应该使用 StringBuilder,这样就可以在 O(s.length() * n) 中创建 String

final int n = ...
final String s = ...

StringBuilder builder = new StringBuilder();

for (int i = 0; i < n; i++) {
    builder.append(s);
}

String result = builder.toString();