Java:将字符串添加到字符串中的特定位置(性能)

时间:2017-10-02 19:40:09

标签: 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*/

  }

这只是一个简单的函数,但在我正在处理的实际程序中:

  • 1-长度为400-600字符的字符串。
  • 2-我会做很多调用,在The中间添加_ char 字符串。

使用String对象或StringBuilder对象不是我认为最好的对象,因为此操作seq = seq.substring(0, 2)+ "_" + seq.substring(2, seq.length()); 在最坏情况下使用了O(n)。

我的问题:

适用于此目的的收集是什么?

我认为使用字符对象列表,所以插入时只需要O(1),但我不确定。

请你给我一些见解。

谢谢。

1 个答案:

答案 0 :(得分:2)

在这种情况下,我会使用StringBuilder:)

String yourString = "Hello";

StringBuilder = new StringBuilder(yourString);
sb.insert(2, '_');

System.out.println(sb.toString());

输出为:He_llo

编辑:用StringBuilder替换StringBuffer