Java 統計字符串中每個字符出現的次數----使用集合方法


 1 import java.util.HashMap;
 2 import java.util.Scanner;
 3 import java.util.Set;
 4 
 5 public class MapTest {
 6     public static void main(String[] args) {
 7         Scanner scanner = new Scanner(System.in);
 8         //鍵盤錄入字符串
 9         System.out.println("請輸入一串字符");
10         //創建字符串對象,存儲鍵盤輸入的值
11         String line = scanner.nextLine();
12         //創建HashMap集合,鍵是character,值是Inter
13         HashMap<Character, Integer> hm = new HashMap<Character, Integer>();
14         //循環遍歷字符串,得到每個字符
15         for (int i = 0; i < line.length(); i++) {
16             //通過charAt方法,將字符串的索引值,作為鍵添加到HashMap集合中
17             char key = line.charAt(i);
18             //使用HashMap集合的get方法,對集合中的鍵(字符)進行判斷
19             //創建Integer對象存儲值
20             Integer value = hm.get(key);
21             //返回值為空,將字符作為鍵,1作為存儲值
22             if (value == null) {
23                 hm.put(key, 1);
24             } else {
25                 //返回值不為空,說明此字符在集合中出現過,將字符作為鍵,值加一
26                 // 重新存儲鍵(字符)和對應的值
27                 value++;
28                 hm.put(key, value);
29             }
30         }
31         //創建StringBuilder字符串序列
32         StringBuilder sb = new StringBuilder();
33         //創建set集合對象,通過keyset方法獲取鍵
34         Set<Character> keyset = hm.keySet();
35         //增強for循環遍歷,獲取鍵所對應的值
36         for (Character key : keyset) {
37             //使用get方法獲取到鍵所對應的值
38             Integer value = hm.get(key);
39             //對序列進行拼接,使用append方法
40             sb.append(key).append("(").append(value).append(")");
41         }
42         // 通過tostring方法返回StringBuilder此順序中的數據的字符串,創建string對象接受此字符串
43         String result = sb.toString();
44         //打印結果
45         System.out.println(result);
46     }
47 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM