Stringクラス、StringBuffer、StringBuilder実行効率テスト
1157 ワード
1から100000までの文字列を生成するのにどれだけの時間がかかるかを計算し、時間を計算する方法はdateクラスのgettime()メソッドで、gettime()で得られた時間はオブジェクト生成時、1970年1月1日0時までのミリ秒数であり、メソッド呼び出し時のミリ秒数ではないことに注意してください.
ソースコードは次のとおりです.
結果は
ソースコードは次のとおりです.
package com.homework;
import java.util.Date;
public class TimeCeshi {
public static void main(String[] args) {
String s="";
//String
Date d=new Date();
long l1=d.getTime(); // , ,
for(int i=0;i<100000;i++) {
s+=i;
}
Date d1=new Date();
long l2=d1.getTime();
System.out.println(l2-l1);
//Stringbuffer
StringBuffer sb=new StringBuffer();
Date d2=new Date();
long l3=d2.getTime();
for(int i=0;i<100000;i++) {
sb.append(i);
}
Date d3=new Date();
long l4=d3.getTime();
System.out.println(l4-l3);
//Stringbuilder
StringBuilder sb1=new StringBuilder();
Date d4=new Date();
long l5=d4.getTime();
for(int i=0;i<100000;i++) {
sb1.append(i);
}
Date d5=new Date();
long l6=d5.getTime();
System.out.println(l6-l5);
}
}
結果は
26113
4
3
から分かるように、Stringbuilderの速度は最も速いが、スレッドは安全ではなく、Stringbuffer、次いでスレッドは安全である.Stringクラスの速度が最も遅く、使用中はできるだけこのようなことを避けます.