Java.toCharArray()和charAt()效率比较

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

	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)