zak*_*zak 2 java string algorithm arraylist
我正在寻找将字符添加到字符串中特定位置的有效方法。
我的例子:
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*/
}
Run Code Online (Sandbox Code Playgroud)
这只是一个简单的函数,但在我的真实程序中,我正在处理:
在我看来,使用 String Object 或 StringBuilder Object 并不是最好的 Object,因为seq = seq.substring(0, 2)+ "_" + seq.substring(2, seq.length());
在最坏的情况下,此操作需要 O(n)。
我的问题:
什么是适合此目的的收藏品?
我认为使用字符对象列表,因此插入只需要 O(1) ,但我不确定。
你能给我一些见解吗?
谢谢你。
小智 6
在这种情况下,我将使用StringBuilder :)
String yourString = "Hello";
StringBuilder sb = new StringBuilder(yourString);
sb.insert(2, '_');
System.out.println(sb.toString());
Run Code Online (Sandbox Code Playgroud)
输出是:He_llo
编辑:用 StringBuilder 替换 StringBuffer