• String,StringBuilder,StringBuffer时间比较


     String,StringBuilder,StringBuffer时间比较

     结论:

    对象类型:常量,变量,变量 ——》联想记忆方式:一常 两变

    线程安全:不安全,不安全,安全   ——》联想记忆方式:两 不 一 安

    String执行效率 < StringBuffer的执行效率 < StringBuilder的执行效率   ——》联想记忆方式:在26个英文字母中 f 在 i 前面 所以StringBuffer的执行效率 < StringBuilder的执行效率

     1 package com.cst.iprocess.controller;
     2 import java.util.Date;
     3 
     4 public class test {
     5 
     6     public static void main(String[] args) {
     7         //String,StringBuilder,StringBuffer时间比较
     8         //String
     9         String str = "";//创建新字符串
    10         long starTime = System.currentTimeMillis();//定义字符串执行操作的开始时间
    11         for(int i = 0;i<10000;i++) {//for循环
    12             str=str+i;//循环追加字符串
    13         }
    14         long endTime = System.currentTimeMillis();//定义字符串执行操作的结束时间
    15         long time = endTime - starTime;//计算对字符串操作前后的时间
    16         System.out.println("String的执行时间为:"+time);//打印出结果
    17         
    18         //StringBuilder
    19         StringBuilder std = new StringBuilder();//创建字符串生成器
    20          starTime = System.currentTimeMillis();//定义字符串执行操作的开始时间
    21         for(int i = 0;i<10000;i++) {//for循环
    22             std.append(i);//循环追加字符串
    23         }
    24          endTime = System.currentTimeMillis();//定义字符串执行操作的结束时间
    25          time = endTime - starTime;//计算对字符串操作前后的时间
    26          System.out.println("StringBuilder的执行时间为:"+time);//打印出结果
    27          
    28         //StringBuffer
    29         StringBuffer stb = new StringBuffer();//创建字符串生成器
    30          starTime = System.currentTimeMillis();//定义字符串执行操作的开始时间
    31         for(int i = 0;i<10000;i++) {//for循环
    32             stb.append(i);//循环追加字符串
    33         }
    34          endTime = System.currentTimeMillis();//定义字符串执行操作的结束时间
    35          time = endTime - starTime;//计算对字符串操作前后的时间
    36          System.out.println("StringBuffer的执行时间为:"+time);//打印出结果
    37     }
    38 }
     

    执行时间

    1 String的执行时间为:145 
    2
    StringBuilder的执行时间为:1
    3
    StringBuffer的执行时间为:0
  • 相关阅读:
    「LOJ #6500」「雅礼集训 2018 Day2」操作
    「CEOI2013」Board
    CF407B Long Path
    poj 2503 Babelfish 用trie树做
    poj 3414 Pots搜索BFS
    POJ2001 Shortest Prefixes 用trie树实现
    poj3630Phone List用trie树实现
    poj1797Heavy Transportation最大生成树
    hoj题双重筛法
    poj1338 Ugly Numbers
  • 原文地址:https://www.cnblogs.com/lidar/p/10831945.html
Copyright © 2020-2023  润新知