本文介紹了在Java中,String.long()的時間復(fù)雜度是多少?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
是O(N)還是O(1)(在將字符串分配給對象期間將長度保存在私有變量中)?
如果為O(N),是否表示后續(xù)代碼的復(fù)雜度為O(n^2)?
for(int i=0; i<s.length()-1;i++){
//some code here!
}
推薦答案
它是O(1)
,因為String
實例已經(jīng)知道長度。
從JDK 1.6中可以看到它。
public int length() {
return count;
}
更新
了解它們?yōu)槭裁纯梢跃彺?code>count的值并繼續(xù)對count
使用相同的值,這一點(diǎn)很重要。原因在于他們在設(shè)計String
時做出了一個偉大的決定,就是它的不變性。
這篇關(guān)于在Java中,String.long()的時間復(fù)雜度是多少?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,