用雙列集合來實現
package cn.hky.exer;
import java.util.HashMap;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// ① 接收一個需要被統計字元的字串
String s = sc.nextLine();
// ② 將字串轉換成字元陣列
char[] arr = s.toCharArray();
// ③ 定義雙列集合,儲存字串字元以及字元出現的次數
HashMap<Character, Integer> hm = new HashMap<>();
// ④ 遍歷字元陣列獲取每一個字元,並將字元儲存在雙列集閤中
for (char c : arr) {
// ⑤ 儲存過程中要做判斷,如果集閤中不包含這個鍵
// 就將該字元當作鍵,值爲1儲存,如果集閤中包含這個鍵
// 就將值增加1儲存
/*
if(!hm.containsKey(c)){ //如果不包含這個鍵
hm.put(c, 1);
} else{
hm.put(c,hm.get(c)+1);
}
*/
hm.put(c, !hm.containsKey(c) ? 1 : hm.get(c) + 1);
} // ⑥列印雙列集合獲取字元出現的次數
// hm.keySet()代表所有鍵的集合
for (Character key : hm.keySet()) {
// hm.get(key)根據鍵獲取值
System.out.print(key + "=" + hm.get(key)+" ");
}
}
}