1、介紹
?常見的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型,如字符串,樹,哈希表,棧,隊列等,我們經(jīng)常在做題的時候會遇到遍歷他們的情況,所以掌握好這些方法才能在遇到題目的時候打開思路解決問題,掌握好招式才能正式的解決問題,才能有獨立完成問題的可能性。
?那么我們這篇文章先學(xué)習(xí)一下字符串的遍歷,在力扣熱門100題——無重復(fù)字符的最大子串一題中,最容易想到的暴力循環(huán)方法就需要用到字符串的遍歷。
2、具體的遍歷方法
2.1 使用 charAt()
- ? ? ? ?length():返回此字符序列的長度。
- ? ? ? ?charAt(int index):返回指定索引處的char值。
- ? ? ? ? 那么我們就可以通過for循環(huán)遍歷字符串從0到length-1的每一個字符。
String str="2022 fight";
for(int i=0;i < str.length();i++) {
System.out.println(str.charAt(i));
}
2.2 使用substring(i ,i+1)
- CharSequence subSequence( int beginIndex, int endIndex):返回一個字符序列,該序列是該序列的子序列。
- ?所以就可以通過把beginIndex設(shè)定為i,而endIndex設(shè)定為i+1,這樣每次也是獲得一個字符。
-
String str="2022 fight"; for(int i=0;i < str.length();i++) { System.out.println(str.substring(i,i+1)); }
2.3 使用toCharArray()
- toCharArray():將此字符串轉(zhuǎn)換為字符數(shù)組。
-
這樣就可以將字符串先轉(zhuǎn)換成字符數(shù)組,然后再用for循環(huán)遍歷數(shù)組即可。
String str="2022 fight";
char[] s = str.toCharArray();
for(int i=0;i < s.length();i++) {
System.out.println(s[i]);
}
2.4?使用getBytes()
- getBytes():將String編碼為一系列字節(jié)序列,然后存儲到字節(jié)數(shù)組中。
當(dāng)需要遍歷字節(jié)類型的時候可以用這個方式,這個相對不那么常用。文章來源:http://www.zghlxwxcb.cn/news/detail-407457.html
String str="2022 fight";
byte[] b = str.getBytes();
for(int i=0;i < str.length();i++) {
System.out.println(b[i]);
}
3、總結(jié)文章來源地址http://www.zghlxwxcb.cn/news/detail-407457.html
- 因為字符串是非常常用的數(shù)據(jù)類型,必須掌握,很多操作的對象就是字符串。
- 通過這幾個方法可以看到,其實掌握各種數(shù)據(jù)類型之間的轉(zhuǎn)換是非常重要的,String類有很多的相關(guān)方法。
- 對于for循環(huán)的遍歷和數(shù)組的遍歷也要掌握,在遍歷的時候注意數(shù)組的上下界。
- 大家可以只記住其中一種就好,一力破十會,charAt()和toCharArray都是很好理解的方法。
?
到了這里,關(guān)于字符串的遍歷方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!