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

