欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)統(tǒng)計(jì)字符串出現(xiàn)的次數(shù)

 更新時(shí)間:2021年10月21日 17:06:13   作者:Januea  
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)統(tǒng)計(jì)字符串出現(xiàn)的次數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Java實(shí)現(xiàn)統(tǒng)計(jì)字符串出現(xiàn)次數(shù)的具體代碼,供大家參考,具體內(nèi)容如下

需求:

健盤(pán)錄入一個(gè)字符串,要求統(tǒng)計(jì)字符串中每個(gè)字符串出現(xiàn)的次數(shù)。

舉例:鍵盤(pán)錄入"aababcabcdabcde"

在控制臺(tái)輸出: "a(1)b(4)c(3)d(2)e(1)"

思路:

①健盤(pán)錄入一個(gè)字符串
②創(chuàng)建HashMap集合,鍵是Character, 值是Integer
③遍歷字符申,得到每一個(gè)字符
④拿得到的每一個(gè)字符作為鍵到HashMap集合中去找對(duì)應(yīng)的值,看其返回值
        如果返回值是null:說(shuō)明該字符在HashMap集合中不存在,就把該字符作為鍵,1作為值存儲(chǔ)
        如果返回值不是null:說(shuō)明該字符在HashMap集合中存在,把該值加1,然后重新存儲(chǔ)該字符和對(duì)成的值
⑤遍歷HashMap集合,得到鍵和值,按照要求進(jìn)行拼接
⑥輸出結(jié)果

public class StrCount {
    public static void main(String[] args) {
 
        //健盤(pán)錄入一個(gè)字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("清輸入一串字符串:");
        String line = sc.nextLine();
 
        //創(chuàng)建HashMap集合,鍵是Character, 值是Integer
        HashMap<Character, Integer> map = new HashMap<>();
 
        //遍歷字符申,得到每一個(gè)字符
        for (int i = 0; i < line.length(); i++) {
            char key = line.charAt(i);
            //拿得到的每一個(gè)字符作為鍵到HashMap集合中去找對(duì)應(yīng)的值,看其返回值
            Integer value = map.get(key);
 
            if (value == null) {
                //如果返回值是null:說(shuō)明該字符在HashMap集合中不存在,就把該字符作為鍵,1作為值存儲(chǔ)
                map.put(key, 1);
            } else {
                //如果返回值不是ull:說(shuō)明該字符在HashMap集合中存在,把該值加1,然后重新存儲(chǔ)該字符和對(duì)成的值
                value++;
                map.put(key, value);
            }
        }
 
        //遍歷HashMap集合,得到鍵和值,按照要求進(jìn)行拼接
        StringBuilder sb = new StringBuilder();
        Set<Character> keySet = map.keySet();
        for (Character key : keySet) {
            Integer value = map.get(key);
            sb.append(key).append("(").append(value).append(")");
        }
 
        //輸出結(jié)果
        String result = sb.toString();
        System.out.println(result);
 
    }
}

最后那個(gè)遍歷輸出是跟著老師寫(xiě)的,只不過(guò)沒(méi)貼我寫(xiě)的下面這個(gè)是因?yàn)槲矣X(jué)得老師的那個(gè)更符合題意,使用的是拼接,結(jié)果都一樣。

//遍歷HashMap集合,得到鍵和值,按照要求進(jìn)行拼接
        Set<Character> keySet = map.keySet();
        for (Character key : keySet) {
            Integer value = map.get(key);
            //輸出結(jié)果
            System.out.print(key + "(" + value + ")");
        }

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

相關(guān)文章

  • java內(nèi)部類(lèi)原理與用法詳解

    java內(nèi)部類(lèi)原理與用法詳解

    這篇文章主要介紹了java內(nèi)部類(lèi)原理與用法,結(jié)合實(shí)例形式分析了Java內(nèi)部類(lèi)的概念、原理、分類(lèi)及相關(guān)使用技巧,需要的朋友可以參考下
    2019-05-05
  • Java PreparedStatement用法詳解

    Java PreparedStatement用法詳解

    這篇文章主要介紹了Java PreparedStatement用法詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 使用Java代碼獲取服務(wù)器性能信息及局域網(wǎng)內(nèi)主機(jī)名

    使用Java代碼獲取服務(wù)器性能信息及局域網(wǎng)內(nèi)主機(jī)名

    這篇文章主要介紹了使用Java代碼獲取服務(wù)器性能信息及局域網(wǎng)內(nèi)主機(jī)名的方法,方便對(duì)服務(wù)器的遠(yuǎn)程管理和團(tuán)隊(duì)協(xié)作時(shí)用到,而且文中的方法無(wú)需調(diào)用jni,需要的朋友可以參考下
    2015-11-11
  • 詳解Java基礎(chǔ)知識(shí)——JDBC

    詳解Java基礎(chǔ)知識(shí)——JDBC

    這篇文章主要介紹了Java基礎(chǔ)知識(shí)——JDBC,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • java多線程join()方法的作用和實(shí)現(xiàn)原理解析(應(yīng)用場(chǎng)景)

    java多線程join()方法的作用和實(shí)現(xiàn)原理解析(應(yīng)用場(chǎng)景)

    join方法主要是用于將當(dāng)前線程掛起,等待其他線程結(jié)束后在執(zhí)行當(dāng)前線程,本文通過(guò)應(yīng)用場(chǎng)景分析代碼示例講解java多線程join()方法的作用和實(shí)現(xiàn)原理,感興趣的朋友一起看看吧
    2021-07-07
  • SpringBoot 多環(huán)境配置和啟動(dòng)詳解

    SpringBoot 多環(huán)境配置和啟動(dòng)詳解

    這篇文章主要為大家介紹了SpringBoot多環(huán)境配置和啟動(dòng)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件 FTP軟件效果圖預(yù)覽之上傳功能(3)

    Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件 FTP軟件效果圖預(yù)覽之上傳功能(3)

    這篇文章主要為大家詳細(xì)介紹了Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件,F(xiàn)TP軟件效果圖預(yù)覽之上傳功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 基于Springboot商品進(jìn)銷(xiāo)存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    基于Springboot商品進(jìn)銷(xiāo)存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    本項(xiàng)目基于springboot實(shí)現(xiàn)一個(gè)進(jìn)銷(xiāo)存管理系統(tǒng),主要用戶開(kāi)設(shè)網(wǎng)店的相關(guān)商品的進(jìn)貨、銷(xiāo)售、庫(kù)存的管理,功能比較完整,需要的可以參考一下
    2022-08-08
  • 一文帶你掌握J(rèn)ava8強(qiáng)大的StreamAPI

    一文帶你掌握J(rèn)ava8強(qiáng)大的StreamAPI

    Java8API添加了一個(gè)新的抽象稱為流Stream,可以讓你以一種聲明的方式處理數(shù)據(jù)。Stream 使用一種類(lèi)似用SQL 語(yǔ)句從數(shù)據(jù)庫(kù)查詢數(shù)據(jù)的直觀方式來(lái)提供一種對(duì) Java 集合運(yùn)算和表達(dá)的高階抽象。Stream API可以極大提高Java程序員的生產(chǎn)力,讓程序員寫(xiě)出高效率、干凈、簡(jiǎn)潔的代碼
    2021-10-10
  • mybatis 為什么千萬(wàn)不要使用 where 1=1

    mybatis 為什么千萬(wàn)不要使用 where 1=1

    這篇文章主要介紹了mybatis 為什么千萬(wàn)不要使用 where 1=1,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05

最新評(píng)論