// 統計一個String字符串中出現的相同字符的次數 及分別是什麼 public static void charStat(String str){ long start = System.currentTimeMillis(); Map<Character,Integer> map = new HashMap<>(); for(int i = 0; i< str.length(); i++){ char c = str.charAt(i); if(map.containsKey(c)){ map.put(c,map.get(c)+1); }else{ map.put(c,1); } } Iterator<Map.Entry<Character, Integer>> it = map.entrySet().iterator(); while (it.hasNext()){ Map.Entry<Character, Integer> entry = it.next(); System.out.println("字符:"+entry.getKey()+"出現"+entry.getValue()+"次"); } long end = System.currentTimeMillis(); System.out.println("耗時"+(end-start)+"ms"); } //輸出 public static void main(String[] args) { charStat("sajdnalskdsakjdwdbakjsdlasd"); }
輸出結果:
字符:a出現5次
字符:b出現1次
字符:s出現5次
字符:d出現6次
字符:w出現1次
字符:j出現3次
字符:k出現3次
字符:l出現2次
字符:n出現1次
耗時2mscode