清空StringBuilder对象里的1行10列与10行10列数据三种方案速度优劣对比

public class Example8 {

    public static void main(String[] args) throws Exception {
        String a1 = "";
        String a2 = "";
        String a3 = "";

        StringBuilder sb2 = new StringBuilder();
        StringBuilder sb3 = new StringBuilder();
        long start1Time = System.currentTimeMillis();
        for (int i = 0; i < 10000000; i++) {
            //需要就创建一个StringBuilder对象,上一次创建的StringBuilder由系统自动回收
            StringBuilder sb1 = new StringBuilder();
            sb1.append("someString1\t");
            sb1.append("someString2\t");
            sb1.append("someString3\t");
            sb1.append("someString4\t");
            sb1.append("someString5\t");
            sb1.append("someString6\t");
            sb1.append("someString7\t");
            sb1.append("someString8\t");
            sb1.append("someString9\t");
            sb1.append("someString10\n");
            sb1.append("someString11\t");
            sb1.append("someString12\t");
            sb1.append("someString13\t");
            sb1.append("someString14\t");
            sb1.append("someString15\t");
            sb1.append("someString16\t");
            sb1.append("someString17\t");
            sb1.append("someString18\t");
            sb1.append("someString19\t");
            sb1.append("someString20\n");
            sb1.append("someString21\t");
            sb1.append("someString22\t");
            sb1.append("someString23\t");
            sb1.append("someString24\t");
            sb1.append("someString25\t");
            sb1.append("someString26\t");
            sb1.append("someString27\t");
            sb1.append("someString28\t");
            sb1.append("someString29\t");
            sb1.append("someString30\n");
            sb1.append("someString31\t");
            sb1.append("someString32\t");
            sb1.append("someString33\t");
            sb1.append("someString34\t");
            sb1.append("someString35\t");
            sb1.append("someString36\t");
            sb1.append("someString37\t");
            sb1.append("someString38\t");
            sb1.append("someString39\t");
            sb1.append("someString40\n");
            sb1.append("someString41\t");
            sb1.append("someString42\t");
            sb1.append("someString43\t");
            sb1.append("someString44\t");
            sb1.append("someString45\t");
            sb1.append("someString46\t");
            sb1.append("someString47\t");
            sb1.append("someString48\t");
            sb1.append("someString49\t");
            sb1.append("someString50\n");
            sb1.append("someString51\t");
            sb1.append("someString52\t");
            sb1.append("someString53\t");
            sb1.append("someString54\t");
            sb1.append("someString55\t");
            sb1.append("someString56\t");
            sb1.append("someString57\t");
            sb1.append("someString58\t");
            sb1.append("someString59\t");
            sb1.append("someString60\n");
            sb1.append("someString61\t");
            sb1.append("someString62\t");
            sb1.append("someString63\t");
            sb1.append("someString64\t");
            sb1.append("someString65\t");
            sb1.append("someString66\t");
            sb1.append("someString67\t");
            sb1.append("someString68\t");
            sb1.append("someString69\t");
            sb1.append("someString70\n");
            sb1.append("someString71\t");
            sb1.append("someString72\t");
            sb1.append("someString73\t");
            sb1.append("someString74\t");
            sb1.append("someString75\t");
            sb1.append("someString76\t");
            sb1.append("someString77\t");
            sb1.append("someString78\t");
            sb1.append("someString79\t");
            sb1.append("someString80\n");
            sb1.append("someString81\t");
            sb1.append("someString82\t");
            sb1.append("someString83\t");
            sb1.append("someString84\t");
            sb1.append("someString85\t");
            sb1.append("someString86\t");
            sb1.append("someString87\t");
            sb1.append("someString88\t");
            sb1.append("someString89\t");
            sb1.append("someString90\n");
            sb1.append("someString91\t");
            sb1.append("someString92\t");
            sb1.append("someString93\t");
            sb1.append("someString94\t");
            sb1.append("someString95\t");
            sb1.append("someString96\t");
            sb1.append("someString97\t");
            sb1.append("someString98\t");
            sb1.append("someString99\t");
            sb1.append("someString100\n");
            a1 = sb1.toString();
        }
        long end1Time = System.currentTimeMillis();
        System.out.println("方案一耗时:" + (end1Time - start1Time));

        long start2Time = System.currentTimeMillis();
        for (int i = 0; i < 10000000; i++) {
            sb2.delete(0, sb2.length());
            sb2.append("someString1\t");
            sb2.append("someString2\t");
            sb2.append("someString3\t");
            sb2.append("someString4\t");
            sb2.append("someString5\t");
            sb2.append("someString6\t");
            sb2.append("someString7\t");
            sb2.append("someString8\t");
            sb2.append("someString9\t");
            sb2.append("someString10\n");
            sb2.append("someString11\t");
            sb2.append("someString12\t");
            sb2.append("someString13\t");
            sb2.append("someString14\t");
            sb2.append("someString15\t");
            sb2.append("someString16\t");
            sb2.append("someString17\t");
            sb2.append("someString18\t");
            sb2.append("someString19\t");
            sb2.append("someString20\n");
            sb2.append("someString21\t");
            sb2.append("someString22\t");
            sb2.append("someString23\t");
            sb2.append("someString24\t");
            sb2.append("someString25\t");
            sb2.append("someString26\t");
            sb2.append("someString27\t");
            sb2.append("someString28\t");
            sb2.append("someString29\t");
            sb2.append("someString30\n");
            sb2.append("someString31\t");
            sb2.append("someString32\t");
            sb2.append("someString33\t");
            sb2.append("someString34\t");
            sb2.append("someString35\t");
            sb2.append("someString36\t");
            sb2.append("someString37\t");
            sb2.append("someString38\t");
            sb2.append("someString39\t");
            sb2.append("someString40\n");
            sb2.append("someString41\t");
            sb2.append("someString42\t");
            sb2.append("someString43\t");
            sb2.append("someString44\t");
            sb2.append("someString45\t");
            sb2.append("someString46\t");
            sb2.append("someString47\t");
            sb2.append("someString48\t");
            sb2.append("someString49\t");
            sb2.append("someString50\t");
            sb2.append("someString51\t");
            sb2.append("someString52\t");
            sb2.append("someString53\t");
            sb2.append("someString54\t");
            sb2.append("someString55\t");
            sb2.append("someString56\t");
            sb2.append("someString57\t");
            sb2.append("someString58\t");
            sb2.append("someString59\t");
            sb2.append("someString60\n");
            sb2.append("someString61\t");
            sb2.append("someString62\t");
            sb2.append("someString63\t");
            sb2.append("someString64\t");
            sb2.append("someString65\t");
            sb2.append("someString66\t");
            sb2.append("someString67\t");
            sb2.append("someString68\t");
            sb2.append("someString69\t");
            sb2.append("someString70\n");
            sb2.append("someString71\t");
            sb2.append("someString72\t");
            sb2.append("someString73\t");
            sb2.append("someString74\t");
            sb2.append("someString75\t");
            sb2.append("someString76\t");
            sb2.append("someString77\t");
            sb2.append("someString78\t");
            sb2.append("someString79\t");
            sb2.append("someString80\n");
            sb2.append("someString81\t");
            sb2.append("someString82\t");
            sb2.append("someString83\t");
            sb2.append("someString84\t");
            sb2.append("someString85\t");
            sb2.append("someString86\t");
            sb2.append("someString87\t");
            sb2.append("someString88\t");
            sb2.append("someString89\t");
            sb2.append("someString90\n");
            sb2.append("someString91\t");
            sb2.append("someString92\t");
            sb2.append("someString93\t");
            sb2.append("someString94\t");
            sb2.append("someString95\t");
            sb2.append("someString96\t");
            sb2.append("someString97\t");
            sb2.append("someString98\t");
            sb2.append("someString99\t");
            sb2.append("someString100\n");
            a2 = sb2.toString();
        }
        long end2Time = System.currentTimeMillis();
        System.out.println("方案二耗时:" + (end2Time - start2Time));

        long start3Time = System.currentTimeMillis();
        for (int i = 0; i < 10000000; i++) {
            sb3.setLength(0);
            sb3.append("someString1\t");
            sb3.append("someString2\t");
            sb3.append("someString3\t");
            sb3.append("someString4\t");
            sb3.append("someString5\t");
            sb3.append("someString6\t");
            sb3.append("someString7\t");
            sb3.append("someString8\t");
            sb3.append("someString9\t");
            sb3.append("someString10\n");
            sb3.append("someString11\t");
            sb3.append("someString12\t");
            sb3.append("someString13\t");
            sb3.append("someString14\t");
            sb3.append("someString15\t");
            sb3.append("someString16\t");
            sb3.append("someString17\t");
            sb3.append("someString18\t");
            sb3.append("someString19\t");
            sb3.append("someString20\n");
            sb3.append("someString21\t");
            sb3.append("someString22\t");
            sb3.append("someString23\t");
            sb3.append("someString24\t");
            sb3.append("someString25\t");
            sb3.append("someString26\t");
            sb3.append("someString27\t");
            sb3.append("someString28\t");
            sb3.append("someString29\t");
            sb3.append("someString30\n");
            sb3.append("someString31\t");
            sb3.append("someString32\t");
            sb3.append("someString33\t");
            sb3.append("someString34\t");
            sb3.append("someString35\t");
            sb3.append("someString36\t");
            sb3.append("someString37\t");
            sb3.append("someString38\t");
            sb3.append("someString39\t");
            sb3.append("someString40\n");
            sb3.append("someString41\t");
            sb3.append("someString42\t");
            sb3.append("someString43\t");
            sb3.append("someString44\t");
            sb3.append("someString45\t");
            sb3.append("someString46\t");
            sb3.append("someString47\t");
            sb3.append("someString48\t");
            sb3.append("someString49\t");
            sb3.append("someString50\t");
            sb3.append("someString51\t");
            sb3.append("someString52\t");
            sb3.append("someString53\t");
            sb3.append("someString54\t");
            sb3.append("someString55\t");
            sb3.append("someString56\t");
            sb3.append("someString57\t");
            sb3.append("someString58\t");
            sb3.append("someString59\t");
            sb3.append("someString60\n");
            sb3.append("someString61\t");
            sb3.append("someString62\t");
            sb3.append("someString63\t");
            sb3.append("someString64\t");
            sb3.append("someString65\t");
            sb3.append("someString66\t");
            sb3.append("someString67\t");
            sb3.append("someString68\t");
            sb3.append("someString69\t");
            sb3.append("someString70\n");
            sb3.append("someString71\t");
            sb3.append("someString72\t");
            sb3.append("someString73\t");
            sb3.append("someString74\t");
            sb3.append("someString75\t");
            sb3.append("someString76\t");
            sb3.append("someString77\t");
            sb3.append("someString78\t");
            sb3.append("someString79\t");
            sb3.append("someString80\n");
            sb3.append("someString81\t");
            sb3.append("someString82\t");
            sb3.append("someString83\t");
            sb3.append("someString84\t");
            sb3.append("someString85\t");
            sb3.append("someString86\t");
            sb3.append("someString87\t");
            sb3.append("someString88\t");
            sb3.append("someString89\t");
            sb3.append("someString90\n");
            sb3.append("someString91\t");
            sb3.append("someString92\t");
            sb3.append("someString93\t");
            sb3.append("someString94\t");
            sb3.append("someString95\t");
            sb3.append("someString96\t");
            sb3.append("someString97\t");
            sb3.append("someString98\t");
            sb3.append("someString99\t");
            sb3.append("someString100\n");
            a3 = sb3.toString();
        }
        long end3Time = System.currentTimeMillis();
        System.out.println("方案三耗时:" + (end3Time - start3Time));

    }
}
run:
方案一耗时:15280
方案二耗时:8326
方案三耗时:8040
BUILD SUCCESSFUL (total time: 32 seconds)

方案三在数据量比较多的时候,清空StringBuilder对象里的数据是最快的

方案三在数据量比较少的时候,清空StringBuilder对象里的数据依然是最快的

public class Example8 {

    public static void main(String[] args) throws Exception {
        String a1 = "";
        String a2 = "";
        String a3 = "";

        StringBuilder sb2 = new StringBuilder();
        StringBuilder sb3 = new StringBuilder();
        long start1Time = System.currentTimeMillis();
        for (int i = 0; i < 10000000; i++) {
            //需要就创建一个StringBuilder对象,上一次创建的StringBuilder由系统自动回收
            StringBuilder sb1 = new StringBuilder();
            sb1.append("someString1\t");
            sb1.append("someString2\t");
            sb1.append("someString3\t");
            sb1.append("someString4\t");
            sb1.append("someString5\t");
            sb1.append("someString6\t");
            sb1.append("someString7\t");
            sb1.append("someString8\t");
            sb1.append("someString9\t");
            sb1.append("someString10\n");
            a1 = sb1.toString();
        }
        long end1Time = System.currentTimeMillis();
        System.out.println("方案一耗时:" + (end1Time - start1Time));

        long start2Time = System.currentTimeMillis();
        for (int i = 0; i < 10000000; i++) {
            sb2.delete(0, sb2.length());
            sb2.append("someString1\t");
            sb2.append("someString2\t");
            sb2.append("someString3\t");
            sb2.append("someString4\t");
            sb2.append("someString5\t");
            sb2.append("someString6\t");
            sb2.append("someString7\t");
            sb2.append("someString8\t");
            sb2.append("someString9\t");
            sb2.append("someString10\n");
            a2 = sb2.toString();
        }
        long end2Time = System.currentTimeMillis();
        System.out.println("方案二耗时:" + (end2Time - start2Time));

        long start3Time = System.currentTimeMillis();
        for (int i = 0; i < 10000000; i++) {
            sb3.setLength(0);
            sb3.append("someString1\t");
            sb3.append("someString2\t");
            sb3.append("someString3\t");
            sb3.append("someString4\t");
            sb3.append("someString5\t");
            sb3.append("someString6\t");
            sb3.append("someString7\t");
            sb3.append("someString8\t");
            sb3.append("someString9\t");
            sb3.append("someString10\n");
            a3 = sb3.toString();
        }
        long end3Time = System.currentTimeMillis();
        System.out.println("方案三耗时:" + (end3Time - start3Time));

    }
}
方案一耗时:1628
方案二耗时:990
方案三耗时:856
BUILD SUCCESSFUL (total time: 4 seconds)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值