java字符串遍歷的幾種常用方法總結(jié)
1、介紹
?常見的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型,如字符串,樹,哈希表,棧,隊(duì)列等,我們經(jīng)常在做題的時(shí)候會(huì)遇到遍歷他們的情況,所以掌握好這些方法才能在遇到題目的時(shí)候打開思路解決問題,掌握好招式才能正式的解決問題,才能有獨(dú)立完成問題的可能性。
?那么我們這篇文章先學(xué)習(xí)一下字符串的遍歷,在力扣熱門100題——無重復(fù)字符的最大子串一題中,最容易想到的暴力循環(huán)方法就需要用到字符串的遍歷。
2、具體的遍歷方法
2.1 使用 charAt()
- length():返回此字符序列的長度。
- charAt(int index):返回指定索引處的char值。
那么我們就可以通過for循環(huán)遍歷字符串從0到length-1的每一個(gè)字符。
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):返回一個(gè)字符序列,該序列是該序列的子序列。
所以就可以通過把beginIndex設(shè)定為i,而endIndex設(shè)定為i+1,這樣每次也是獲得一個(gè)字符。
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 < str.length();i++) { System.out.println(s[i]); }
2.4 使用getBytes()
- getBytes():將String編碼為一系列字節(jié)序列,然后存儲(chǔ)到字節(jié)數(shù)組中。
當(dāng)需要遍歷字節(jié)類型的時(shí)候可以用這個(gè)方式,這個(gè)相對(duì)不那么常用。
String str="2022 fight"; byte[] b = str.getBytes(); for(int i=0;i < str.length();i++) { System.out.println(b[i]); }
3、總結(jié)
- 因?yàn)樽址欠浅3S玫臄?shù)據(jù)類型,必須掌握,很多操作的對(duì)象就是字符串。
- 通過這幾個(gè)方法可以看到,其實(shí)掌握各種數(shù)據(jù)類型之間的轉(zhuǎn)換是非常重要的,String類有很多的相關(guān)方法。
- 對(duì)于for循環(huán)的遍歷和數(shù)組的遍歷也要掌握,在遍歷的時(shí)候注意數(shù)組的上下界。
- 大家可以只記住其中一種就好,一力破十會(huì),charAt()和toCharArray都是很好理解的方法。
到此這篇關(guān)于java字符串遍歷的幾種常用方法的文章就介紹到這了,更多相關(guān)java字符串遍歷內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mybatis實(shí)現(xiàn)ResultMap結(jié)果集
本文主要介紹了Mybatis實(shí)現(xiàn)ResultMap結(jié)果集,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04Java concurrency之Condition條件_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
Condition的作用是對(duì)鎖進(jìn)行更精確的控制。下面通過本文給大家分享Java concurrency之Condition條件的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-06-06使用Idea maven創(chuàng)建Spring項(xiàng)目過程圖解
這篇文章主要介紹了使用Idea maven創(chuàng)建Spring項(xiàng)目過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02MyBatis批量插入的五種方式小結(jié)(MyBatis以集合方式批量新增)
本文主要介紹了MyBatis批量插入的五種方式小結(jié)(MyBatis以集合方式批量新增),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01Spring Boot實(shí)現(xiàn)STOMP協(xié)議的WebSocket的方法步驟
這篇文章主要介紹了Spring Boot實(shí)現(xiàn)STOMP協(xié)議的WebSocket的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05