亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Java String字符串獲取每一個(gè)字符及常用方法

 更新時(shí)間:2019年09月04日 15:09:00   作者:艾陽丶  
這篇文章主要介紹了詳解Java String字符串獲取每一個(gè)字符及常用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

對(duì)于字符串的操作,我們常用的就是trim()去除前后空格、subString()截取子字符串,其他的用的不多。下表中是字符串常用的方法。大家要記一記啊,特別是chartAt()方法比較重要的。因?yàn)橐徊恍⌒木蜁?huì)被面試問到哦。

因?yàn)?,本人偶爾?huì)出去試試水,在一次隨機(jī)面試過程中,就遇到面試官問的題:假設(shè)這里有個(gè)字符串String s = "aaabbbbccccdddd";問,如果去除掉重復(fù)的字母重新組成一個(gè)新的字符串。有幾種解法?

一、循環(huán)字符串,解法

好吧,第一次碰到這種問題時(shí),我愣了3秒后,說了一種日常開發(fā)中的慣用思維。代碼如下:

方法一:s.length(), s.charAt(i) 

String s = "aaabbbbccccdddd";
List<String> list = new ArrayList<String>(); //定義對(duì)象依次存放每一個(gè)字符
 
for(int i = 0; i < str.length() ; i++){
 
  String ss = String.valueOf(str.charAt(i));
 
  list.add(ss);
}
 
System.out.println(list.toString());

這其實(shí)算是一種標(biāo)準(zhǔn)解法啦 ,表要嘲笑我這個(gè)方法蠢。當(dāng)然,還是有其他比較牛逼的解法,代碼如下。

方法二:s.length() ,s.subString(i,i+1)

String s = "aaabbbbccccdddd";
List<String> list = new ArrayList<String>(); //定義對(duì)象依次存放每一個(gè)字符
 
for(int i = 0; i < str.length() ; i++){
 
  String ss = String.subString(i,i+1);
 
  list.add(ss);
}
System.out.println(list.toString());

方法三:s.toCharArray(), c.size() 

String s = "aaabbbbccccdddd";
char[] c = str.toCharArray();
List<String> list = new ArrayList<String>(); //定義對(duì)象依次存放每一個(gè)字符
 
for(int i = 0; i < c.size() ; i++){
 
  String ss = c[i];
 
  list.add(ss);
}
 
System.out.println(list.toString());

二、Java數(shù)組下標(biāo)為何從0開始?

大家有沒有好奇,為什么數(shù)組的下標(biāo)為什么從0開始?按常理來說,第一個(gè)元素應(yīng)該下標(biāo)應(yīng)該從1開始才對(duì)啊,因?yàn)樗饕羔樦赶虻氖堑谝粋€(gè)元素啊。下面為大家揭開答案。

因?yàn)?,?shù)組在內(nèi)存中是占用一段連續(xù)的存儲(chǔ)空間,當(dāng)數(shù)組初始化后,數(shù)組的長(zhǎng)度就會(huì)固定不變,需要增加數(shù)組的長(zhǎng)度時(shí),由于數(shù)組的存儲(chǔ)空間附近可能被其它數(shù)據(jù)存儲(chǔ)的空間占用,所以只能創(chuàng)建一片新的存儲(chǔ)空間用來存儲(chǔ)數(shù)組。

而獲取數(shù)組元素時(shí),規(guī)則是:數(shù)組下標(biāo) * 數(shù)據(jù)類型字節(jié)大小 + 數(shù)組首地址的方式來獲取。如:一個(gè)int類型(4個(gè)字節(jié))的數(shù)組,假設(shè)首地址為“1”。那么,第一位元素的地址 = 0 * 4 + 1;第二位元素的地址 = 1 * 4 + 1。

所以,程序就是通過這種計(jì)算方式來快速獲取數(shù)組元素。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java學(xué)習(xí)之利用TCP實(shí)現(xiàn)的簡(jiǎn)單聊天示例代碼

    java學(xué)習(xí)之利用TCP實(shí)現(xiàn)的簡(jiǎn)單聊天示例代碼

    這篇文章主要給大家介紹了關(guān)于java學(xué)習(xí)筆記之利用TCP實(shí)現(xiàn)的簡(jiǎn)單聊天的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • Java中替代equals,compareTo和toString的方法

    Java中替代equals,compareTo和toString的方法

    這篇文章主要介紹了Java中替代equals,compareTo和toString的方法,文中代碼十分詳細(xì),幫助大家更好的理解的學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • SpringBoot2使用JTA組件實(shí)現(xiàn)基于JdbcTemplate多數(shù)據(jù)源事務(wù)管理(親測(cè)好用)

    SpringBoot2使用JTA組件實(shí)現(xiàn)基于JdbcTemplate多數(shù)據(jù)源事務(wù)管理(親測(cè)好用)

    這篇文章主要介紹了SpringBoot2使用JTA組件實(shí)現(xiàn)基于JdbcTemplate多數(shù)據(jù)源事務(wù)管理(親測(cè)好用),在Spring?Boot?2.x中,整合了這兩個(gè)JTA的實(shí)現(xiàn)分別是Atomikos和Bitronix,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Java中的命名與目錄接口JNDI基本操作方法概覽

    Java中的命名與目錄接口JNDI基本操作方法概覽

    這篇文章主要介紹了Java中的命名與目錄接口JNDI基本操作方法概覽,JNDI提供統(tǒng)一的客戶端API使得Java應(yīng)用程序可以和這些命名服務(wù)和目錄服務(wù)之間進(jìn)行交互,需要的朋友可以參考下
    2016-03-03
  • Java SpringBoot攔截器詳解

    Java SpringBoot攔截器詳解

    這篇文章主要介紹了Java SpringBoot攔截器的使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-10-10
  • SpringBoot如何訪問本地圖片

    SpringBoot如何訪問本地圖片

    這篇文章主要介紹了SpringBoot如何訪問本地圖片問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • javaSE基礎(chǔ)java自定義注解原理分析

    javaSE基礎(chǔ)java自定義注解原理分析

    這篇文章主要介紹了javaSE基礎(chǔ)對(duì)java自定義注解原理分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多度進(jìn)步,早日升職加薪
    2021-10-10
  • 淺談JVM核心之JVM運(yùn)行和類加載

    淺談JVM核心之JVM運(yùn)行和類加載

    本篇文章主要介紹了JVM核心之JVM運(yùn)行和類加載,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • springboot 自定義異常并捕獲異常返給前端的實(shí)現(xiàn)代碼

    springboot 自定義異常并捕獲異常返給前端的實(shí)現(xiàn)代碼

    在開發(fā)中,如果用try catch的方式,每個(gè)方法都需要單獨(dú)實(shí)現(xiàn),為了方便分類異常,返回給前端,采用了@ControllerAdvice注解和繼承了RuntimeException的方式來實(shí)現(xiàn),具體實(shí)現(xiàn)內(nèi)容跟隨小編一起看看吧
    2021-11-11
  • Matplotlib可視化之自定義顏色繪制精美統(tǒng)計(jì)圖

    Matplotlib可視化之自定義顏色繪制精美統(tǒng)計(jì)圖

    matplotlib提供的所有繪圖都帶有默認(rèn)樣式.雖然這可以進(jìn)行快速繪圖,但有時(shí)可能需要自定義繪圖的顏色和樣式,以對(duì)繪制更加精美、符合審美要求的圖像.matplotlib的設(shè)計(jì)考慮到了此需求靈活性,很容易調(diào)整matplotlib圖形的樣式,需要的朋友可以參考下
    2021-06-06

最新評(píng)論