0
0

More than 3 years have passed since last update.

【忘備録】Java : 文字列連結の速さを計測

Posted at

はじめに

以前の現場で上長からString型の文字連結はStringBuilderのappendでやった方が速いということを教わってからずっと覚えていたのですが、今勉強している参考書でもそのことが触れられていたので実際どれくらい速いのか実践してみたいと思いました。

stringBuilderTest.java
public class StringBuilderTest {
    public static void main(String[] args) {

        String name = "";
        long start = System.currentTimeMillis();
        for(int i=1; i<=1000; i++){
            name += "tanaka, ";
        };
        long end = System.currentTimeMillis();
        System.out.println("+連結 : "+(end - start)  + "ms");

        StringBuilder sb = new StringBuilder();
        long start2 = System.currentTimeMillis();
        for(int i=1; i<=400000; i++){
            sb.append("tanaka, ");
        };
        String name2 = sb.toString();
        long end2 = System.currentTimeMillis();
        System.out.println("StringBuilder.append連結 : "+(end2 - start2)  + "ms");
    }
}
結果.java
        +連結 : 24ms
        StringBuilder.append連結 : 27ms

for文の回している回数をみてもらえるとわかりますが + で連結したのは1000回実行するのに24ms掛かってappend連結は27msで40万回実行してますね。
数回しか実行しないならともかく、前の現場も万単位でfor文を回していたので覚えておいて損はないですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0