最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

前言

對于字符串的操作,我們常用的就是trim()去除前后空格、subString()截取子字符串,其他的用的不多。下表中是字符串常用的方法。大家要記一記啊,特別是chartAt()方法比較重要的。因為一不小心就會被面試問到哦。

因為,本人偶爾會出去試試水,在一次隨機面試過程中,就遇到面試官問的題:假設這里有個字符串String s = "aaabbbbccccdddd";問,如果去除掉重復的字母重新組成一個新的字符串。有幾種解法?

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

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

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

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

這其實算是一種標準解法啦 ,表要嘲笑我這個方法蠢。當然,還是有其他比較牛逼的解法,代碼如下。

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

String s = "aaabbbbccccdddd";
List<String> list = new ArrayList<String>(); //定義對象依次存放每一個字符
 
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>(); //定義對象依次存放每一個字符
 
for(int i = 0; i < c.size() ; i++){
 
  String ss = c[i];
 
  list.add(ss);
}
 
System.out.println(list.toString());

二、Java數組下標為何從0開始?

大家有沒有好奇,為什么數組的下標為什么從0開始?按常理來說,第一個元素應該下標應該從1開始才對啊,因為索引指針指向的是第一個元素啊。下面為大家揭開答案。

因為,數組在內存中是占用一段連續(xù)的存儲空間,當數組初始化后,數組的長度就會固定不變,需要增加數組的長度時,由于數組的存儲空間附近可能被其它數據存儲的空間占用,所以只能創(chuàng)建一片新的存儲空間用來存儲數組。

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java中的ThreadLocal源碼及弱引用解析

    Java中的ThreadLocal源碼及弱引用解析

    這篇文章主要介紹了Java中的ThreadLocal源碼及弱引用解析,ThreadLocal類通過ThreadLocal可以實現(xiàn)全局變量在多線程環(huán)境下的線程隔離,每個線程都可以獨立地訪問和修改自己的全局變量副本,不會影響其他線程的副本,需要的朋友可以參考下
    2024-01-01
  • springboot自定義yml配置文件及其外部部署過程

    springboot自定義yml配置文件及其外部部署過程

    這篇文章主要介紹了springboot自定義yml配置文件及其外部部署過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java 基礎語法 異常處理

    Java 基礎語法 異常處理

    這篇我們就來介紹Java 基礎語法中長遇到的那些異常及處理方法的一下相關資料,感興趣的小伙伴可以參考一下下面文章的詳細內容,希望對你有所幫助
    2021-10-10
  • servlet實現(xiàn)文件上傳與下載功能

    servlet實現(xiàn)文件上傳與下載功能

    這篇文章主要為大家詳細介紹了servlet實現(xiàn)文件上傳與下載功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • java通過共享變量結束run停止線程的方法示例

    java通過共享變量結束run停止線程的方法示例

    這篇文章主要介紹了java通過共享變量結束run停止線程的方法,大家參考使用
    2013-11-11
  • 初步認識JVM的體系結構

    初步認識JVM的體系結構

    大家都知道,Java中JVM的重要性,學習了JVM你對Java的運行機制、編譯過程和如何對Java程序進行調優(yōu)相信都會有一個很好的認知.在面試中JVM也是非常重要的一部分,比如JVM調優(yōu),JVM對象分配規(guī)則,內存模型、方法區(qū),還有種要GC等,需要的朋友可以參考下
    2021-06-06
  • IntelliJ IDEA進行中文漢化的詳細教程(附圖文講解)

    IntelliJ IDEA進行中文漢化的詳細教程(附圖文講解)

    今天為大家?guī)淼氖?nbsp;IntelliJ IDEA 中文漢化教程以及中文插件包下載教程,經常收到小伙伴在后臺給我留言,問 IDEA 怎么進行中文漢化,因為很多小伙伴是剛入門 Java,看到 IDEA 菜單全英文有些不太適應,需要的朋友可以參考下
    2024-12-12
  • Java指令重排序在多線程環(huán)境下的處理方法

    Java指令重排序在多線程環(huán)境下的處理方法

    指令重排在單線程環(huán)境下有利于提高程序的執(zhí)行效率,不會對程序產生負面影響,本文對多線程指令重排問題進行復原,并針對指令重排給出相應的解決方案,需要的朋友參考下吧
    2022-04-04
  • 基于Java制作一個燈謎猜猜樂游戲

    基于Java制作一個燈謎猜猜樂游戲

    中秋佳節(jié),是我國傳統(tǒng)的重大節(jié)日之一,全國各地為了增強過節(jié)的氣氛,都有許多傳統(tǒng)的中秋活動,比如猜燈謎,所以本文就來用Java制作一個燈謎猜猜樂游戲,感興趣的可以了解下
    2023-09-09
  • Spring整合WebSocket應用示例(上)

    Spring整合WebSocket應用示例(上)

    以下教程是小編在參與開發(fā)公司的一個crm系統(tǒng),整理些相關資料,在該系統(tǒng)中有很多消息推送功能,在其中用到了websocket技術。下面小編整理分享到腳本之家平臺供大家參考
    2016-04-04

最新評論

柳林县| 西吉县| 浠水县| 江北区| 若羌县| 雷州市| 钟山县| 泰顺县| 七台河市| 武隆县| 宁安市| 巩义市| 德令哈市| 德阳市| 留坝县| 灵台县| 尉氏县| 正阳县| 沙田区| 湟源县| 安远县| 逊克县| 柳河县| 漯河市| 景泰县| 新余市| 湖北省| 英德市| 霍州市| 富平县| 德昌县| 清涧县| 夏河县| 保靖县| 剑川县| 大厂| 丰宁| 长治市| 永登县| 安义县| 祁连县|