Java案例——用集合實現統計任意字串中字元出現的次數
阿新 • • 發佈:2022-03-30
需求:鍵盤錄入一個字串,統計其中各個字元出現的順序
分析:
1.使用Scanner類獲取一個字串
2.建立HashMap集合,如果追求統計字元的美觀性,可以使用TreeMap
3.遍歷字串得到每一個字元並將其作為TreeMap的鍵
4.通過鍵去集合中找相對應的值,看返回值是什麼?
返回null:說明該字元在集合中不存在,就將該字元為鍵,次數1為值進行儲存
返回的不是null:說明該字元在集合中存在,就再次將該字元作為鍵,次數+1為值進行儲存
5.遍歷集合
public class TreeMapDemo {
public static void main(String[] args) {
//建立TreeMap集合物件
TreeMap<Character,Integer>tm=new TreeMap<Character,Integer>();
//建立Scanner物件
Scanner sc=new Scanner(System.in);
System.out.println("請輸入一個字串");
String s=sc.nextLine();
//遍歷字串
for (int i=0;i<s.length();i++){
//獲取每一個字元
char key =s.charAt(i);
//拿到的每一個字元到集合中找相對應的值
Integer value=tm.get(key);
//判斷返回值
if (value==null){
tm.put(key,1);
}else {
value++;
tm.put(key,value);
}
}
//遍歷集合並拼接
StringBuilder sb=new StringBuilder();
Set<Character> keySet=tm.keySet();
for (char key :keySet){
Integer value=tm.get(key);
sb.append(key).append("(").append(value).append(")");
}
String result = sb.toString();
System.out.println(result);
}
}