文字列内の特定の位置にcharを追加する効率的な方法を探しています。Java:文字列の特定の位置にcharを追加する(パフォーマンス)
私の例:
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*/
}
それだけの単純な機能ですが、私の本当のプログラムの中で私が扱っています:400-600文字の長さである
- の1-文字列。
- 2私は 文字列の真ん中に_charを追加するために多くの呼び出しを行います。この操作
seq = seq.substring(0, 2)+ "_" + seq.substring(2, seq.length());
は、最悪のケースではO(n)を取ったので、文字列オブジェクトまたはStringBuilderオブジェクトを使用して
は、私の意見で使用するのに最適なオブジェクトではありません。
私の質問:
この目的に適したコレクションは何ですか?
文字オブジェクトのリストを使用していると思いますので、挿入にはO(1)しか必要ありませんが、わかりません。
私はいくつかの洞察力を教えてください。
ありがとうございます。この場合
は 'StringBuilder'を使用してください。また、これは: "私は文字オブジェクトのリストを使用していると思うので、挿入にはO(1)しかかかりませんでした"が間違っています。 – Oleg
O(1)だけを受け入れない理由を答えてください。ありがとう –
[StringBuilder.insert](https://docs.oracle.com/javase/7/docs/api/java/lang/)を見ましたか? StringBuilder.html#insert(int、%20java.lang.String))? –