其他分享
首页 > 其他分享> > leetcode奇技淫巧-toCharArray遍历和charAt速度比较

leetcode奇技淫巧-toCharArray遍历和charAt速度比较

作者:互联网

 

文章目录

 

String 两种遍历方式

遍历 String 中各个字符两种方式:

但是当我们刷 leetcode 时候会发现第一种方法比第二种方法效率要高的,这是为什么呢?在我们注重效率的时候我们也推荐第一种方式

速度快的原因

我们先看下 charAt(int index) 源代码

public char charAt(int index) {
    if ((index < 0) || (index >= value.length)) {
        throw new StringIndexOutOfBoundsException(index);
    }
    return value[index];
}

多出来的这个 if 语句就是原因,如果这个 charAt 是在循环中,那么 if 的执行时间乘上循环次数 n 就是多出来的时间了。所以在不那么重视空间复杂度的时候,数据较多的时候使用第一种方式会明显发觉速度快了不少!

 

标签:index,遍历,charAt,字符,int,toCharArray,leetcode,String
来源: https://blog.51cto.com/u_13281972/2997920