62,620
社区成员
发帖
与我相关
我的任务
分享 public static void main(String[] args) {
insertTest();
}
public static void insertTest() {
int t = 10;
int[] times = { 10 * t, 100 * t, 1000 * t, 10000 * t, 15000 * t };
StringBuilder sbBuilder = new StringBuilder();
StringBuffer sbBuffer = new StringBuffer();
long l;
int i;
for (int time : times) {
l = System.currentTimeMillis();
for (i = 0; i < time; i++) {
stringBuilderInsert(sbBuilder, "hello world");
}
System.out.println("builder run " + time + " times insert take " + (System.currentTimeMillis() - l) + "ms");
l = System.currentTimeMillis();
for (i = 0; i < time; i++) {
stringBufferInsert(sbBuffer, "hello world");
}
System.out.println("buffer run " + time + " times insert take " + (System.currentTimeMillis() - l) + "ms");
}
}
public static StringBuilder stringBuilderInsert(StringBuilder dest, String str) {
int offset = (int) (Math.random() * dest.length());
dest.insert(offset, str);
return dest;
}
public static StringBuffer stringBufferInsert(StringBuffer dest, String str) {
int offset = (int) (Math.random() * dest.length());
dest.insert(offset, str);
return dest;
}
理解有误
我2了。。。