StringBuilderクラスのinsert()とappend()のパフォーマンスに違いはありますか?テキスト識別子としてたくさんの短い文字列を作成し、この質問を自問します... SBを区切り文字で初期化し、挿入+追加を使用する必要がありますか、それとも単に追加する必要がありますか?
知っています:
insert
は、時間計算量(O(n))の点でappend
と同等です。insert
は、最後以外の場所でできませんappend
で取得できます(目的が異なるため)。insert
には最大3つのSystem.arraycopy
(ネイティブ)呼び出しが含まれる場合がありますが、append
1です。あなたは簡単に結論付けることができます:
append
を使用しますinsert
を使用しますそうすることで、最高のパフォーマンスが得られます。しかし、繰り返しになりますが、これら2つの方法は2つの異なる目的を果たします(最後に挿入することを除いて)、ここでは本当の問題はありません。
それらは異なる機能と異なる複雑さを持っています、
インサート:
追加する場所:
したがって、常にテールに追加する場合は、挿入によって要素がプッシュされないため、パフォーマンスは同じになります。
だから、私は追加を使用します、それはただきれいです。