我正在寻找将字符串添加到字符串中特定位置的有效方法。
我的例子:
package test;
public class Test {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
//Creating A String Object that Hold "Hello"
String seq = new String("Hello");
System.out.println(seq);/*printing Hello*/
/*putting tha char _ in the 3 Position : He_llo */
seq = seq.substring(0, 2)+ "_" + seq.substring(2, seq.length());
System.out.println(seq);/*it prints He_llo*/
}
这只是一个简单的函数,但在我正在处理的实际程序中:
使用String对象或StringBuilder对象不是我认为最好的对象,因为此操作seq = seq.substring(0, 2)+ "_" + seq.substring(2, seq.length());
在最坏情况下使用了O(n)。
我的问题:
适用于此目的的收集是什么?
我认为使用字符对象列表,所以插入时只需要O(1),但我不确定。
请你给我一些见解。
谢谢。
答案 0 :(得分:2)
在这种情况下,我会使用StringBuilder:)
String yourString = "Hello";
StringBuilder = new StringBuilder(yourString);
sb.insert(2, '_');
System.out.println(sb.toString());
输出为:He_llo
编辑:用StringBuilder替换StringBuffer