面試題---長字符串中統計每個字母出現次數

長字符串中統計每個字母出現次數

給定常字符串:abcsdfdjfkdscaaacccbbbkssss
結果輸出:a(4)b(4)c(5)s(6)d(3)f(2)j(1)k(2)

代碼

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class MyTest04 {
    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        String s = sc.nextLine();
        String str="abcsdfdjfkdscaaacccbbbkssss";

        LinkedHashMap<Character, Integer> map = new LinkedHashMap<>();
//      字母統計算法
        for (int i = 0; i < str.length(); i++) {
            char ch=str.charAt(i);
            if (!map.containsKey(ch)){
                map.put(ch,1);
            }else{
                Integer num = map.get(ch);
                num++;
                map.put(ch,num);
            }
        }
//        拼串
        StringBuffer sb = new StringBuffer();
        Set<Map.Entry<Character, Integer>> entries = map.entrySet();
        for (Map.Entry<Character, Integer> entry:entries){
            sb.append(entry.getKey()).append("("+entry.getValue()+")");
        }

        System.out.println(sb.toString());


    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章