zoukankan      html  css  js  c++  java
  • Java数组拼接字符串几个写法性能比较(转载)

    将数组 int[] arr = {0,1,2,3,4,5,6,7,8,9} 拼接成 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 字符串:

    StringBuilder sb = new StringBuilder(arr.length*3); // StringBuilder(arr.length*3)性能比StringBuilder()高
    sb.append("[");
     
    // 写法1
    for( int i = 0, len = arr.length; i < len; i++)
    {
       if( i > 0 ){
          sb.append(", ");
       }
     
       sb.append(arr[i]);
    }
    return sb.append("]").toString();
     
     
    // 写法二
    int iMax = arr.length - 1;
    for(int i = 0; ; i++){
       sb.append(arr[i]);
       if( i == iMax ){
          return sb.append("]").toString();
       }
       sb.append(", ");
    }
     
     
    // 写法三
    int offset = arr.length - 1;
    for( int i = 0; i < offset; i++ )
    {
        sb.append(arr[i]).append(", ");
    }
    sb.append(arr[offset]).append("]");
     
    return sb.toString();

    性能效率: 写法3 > 写法2 > 写法1

    写法3效率之所以高,是因为在 for 循环中去掉了 if 条件判断。

  • 相关阅读:
    OMNETPP: tictoc
    OMNETPP安装
    Unified SR
    SCM
    DC tunnel
    AIMD
    AQM
    MANAGER POJ1281 C语言
    Pascal Library C语言 UVALive3470
    The 3n + 1 problem C语言 UVA100
  • 原文地址:https://www.cnblogs.com/canceler/p/4613272.html
Copyright © 2011-2022 走看看