Java.toCharArray()和charAt()的效率對比分析
LeetCode中的一道算法題,使用toCharArray()時間超時,換成charAt()之后通過,所以測試一下兩者的運(yùn)行效率:
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); // 需要輸入語句進(jìn)入循環(huán)
}
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);
}
結(jié)果證明charAr()效率較高些,運(yùn)行結(jié)果為:
1980
1443
補(bǔ)充知識:JAVA: toCharArray()類 將字符串轉(zhuǎn)為數(shù)組
我就廢話不多說了,大家還是直接看代碼吧~
public class Demo {
public static void main(String[] args){
String str = "helloworld";
char[] data = str.toCharArray();// 將字符串轉(zhuǎn)為數(shù)組
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()的效率對比分析就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java高級用法之綁定CPU的線程Thread?Affinity簡介
java線程thread affinity是用來將java代碼中的線程綁定到CPU特定的核上,用來提升程序運(yùn)行的性能,這篇文章主要介紹了java高級用法之綁定CPU的線程thread affinity的相關(guān)知識,需要的朋友可以參考下2022-05-05
啟用設(shè)置org.slf4j.Logger打印并輸出日志方式
這篇文章主要介紹了啟用設(shè)置org.slf4j.Logger打印并輸出日志方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11
idea?maven項目啟動項目不編譯target?文件的問題及解決方法
代碼編輯器中無編譯錯誤,通過maven 的clean 、compile、package進(jìn)行各種操作也都沒問題,但是單擊綠色箭頭運(yùn)行(默認(rèn)會先執(zhí)行IDE本身的Build操作)卻報:程序包xxx不存在,這篇文章主要介紹了解決idea maven項目啟動項目不編譯target文件問題,需要的朋友可以參考下2023-05-05
Spring中使用JSR303請求約束判空的實現(xiàn)
這篇文章主要介紹了Spring中使用JSR303請求約束判空的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
SpringCloud Zuul在何種情況下使用Hystrix及問題小結(jié)
這篇文章主要介紹了SpringCloud Zuul在何種情況下使用Hystrix 及問題小結(jié),感興趣的朋友跟隨小編一起看看吧2018-11-11
解決idea中Terminal終端無法執(zhí)行GIT命令+Terminal 中文亂碼問題
這篇文章主要介紹了解決idea中Terminal終端無法執(zhí)行GIT命令+Terminal 中文亂碼問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07

