服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java.toCharArray()和charAt()的效率对比分析

Java.toCharArray()和charAt()的效率对比分析

2020-10-08 15:56Rigel.C Java教程

这篇文章主要介绍了Java.toCharArray()和charAt()的效率对比分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

LeetCode中的一道算法题,使用toCharArray()时间超时,换成charAt()之后通过,所以测试一下两者的运行效率

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public static void test() {
String s = "a";
for(int i = 0; i < 100000; i++) {
 s += "a";
}
 
long start1 = System.currentTimeMillis();
char[] cs = s.toCharArray();
for(char c:cs) {
 System.out.println(1); // 需要输入语句进入循环
}
long end1 = System.currentTimeMillis();
 
long start2 = System.currentTimeMillis();
for(int i = 0; i < s.length(); i++) {
 char c = s.charAt(i);
 System.out.println(1);
}
long end2 = System.currentTimeMillis();
 
System.out.println(end1 - start1);
System.out.println(end2 - start2);
}

结果证明charAr()效率较高些,运行结果为:

1980

1443

补充知识:JAVA: toCharArray()类 将字符串转为数组

我就废话不多说了,大家还是直接看代码吧~

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Demo {
    
    public static void main(String[] args){
        
        String str = "helloworld";
    char[] data = str.toCharArray();// 将字符串转为数组
    for (int x = 0; x < data.length; x++) {
      System.out.print(data[x] + " ");
      data[x] -= 32;
      System.out.print(data[x] + " ");
    }
    System.out.println(new String(data));
    }
}
        
        
   

以上这篇Java.toCharArray()和charAt()的效率对比分析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/Yiigel/article/details/54605687

延伸 · 阅读

精彩推荐