// 统计一个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