利用HashMap統計字串各個字元出現的次數

Bei-Zhen發表於2020-12-24

問題

統計字串中每個字元出現的次數

思路

利用HashMap效率很高,通過鍵值對的方式存字元及出現次數

1.接收使用者輸入的字串
2.把字串轉為字元陣列
3.建立Map集合儲存字元及次數的鍵值對
4.遍歷字元陣列
5.假如存在,獲取當前次數,加一
6.假如不存在,為一
7.列印Map集合

程式碼

package test1224.demo1;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/**
 * 統計字串中各個字元出現的次數
 *
 * @author : Bei-Zhen
 * @date : 2020-12-24 14:25
 */
public class Test1 {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        //接收使用者輸入的字串
        String str = sc.nextLine();
        computeCount(str);
    }

    //統計字元
    public static void computeCount(String s){
        //把字串轉為字元陣列
        char[] chars = s.toCharArray();
        //建立Map集合儲存字元及次數的鍵值對
        Map<Character,Integer> cMap = new HashMap<>();
        //遍歷字元陣列
        for (int i = 0; i < s.length(); i++) {
            //假如存在
            if(cMap.containsKey(chars[i])){
                //獲取當前次數
                Integer temp = cMap.get(chars[i]);
                cMap.put(chars[i],++temp);
                //假如不存在
            } else {
                cMap.put(chars[i],1);
            }
        }
        //列印Map集合
        System.out.println(cMap);
    }

}

執行結果

在這裡插入圖片描述

相關文章