// 统计一个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次
耗时2ms