[Java] 文字列結合のパフォーマンス



Strnig型の文字列は「+」演算子で結合することが可能ですが、

繰り返し処理するような場合は実行速度の面で非常に悪さをします。

繰り返し文字列を結合するような場合はStringBufferのappendメソッドを使うべきと言われます。

以下のようなソースコードで実験したところ、StringBufferのappendは
Stringの結合の数千倍の速度でした。

実際に実験するとわかりますが、Stringの方は遅くて耐えられません…



String str = "hogehoge";

String result = "";

StringBuffer buffer = new StringBuffer( );

// String の + 演算で結合

for ( int i = 0; i < 20000 ; i++ ) {

 result += str;

}

// StringBuffer の append メソッドで結合

for ( int i = 0; i < 20000; i++ ) {

 buffer.append( str );

}




posted by へっぽ at 21:52 | TrackBack(0) | java | このブログの読者になる | 更新情報をチェックする

この記事へのトラックバック