public class StringDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str= "QWERTYQQUIQQQWJHDAADADBBBBCAD";
countLetter(str);
}
/**
* 1.统计字符串中每一个字母出现的次数
* 2.请打印出字母次数最多的那一对
* @param str
*/
public static void countLetter(String str){
char[] charArray = str.toCharArray();
HashMap<Character, Integer> hashMap = new HashMap<Character,Integer>();
for (char c : charArray) {
//把字符变量c作为键添加到hashMap中,使用containsKey()方法判断集合中是否有c键,
//使用!非,如果没有则加入值1,如果有则通过key取出值再加1
hashMap.put(c, !hashMap.containsKey(c) ? 1 : (hashMap.get(c)+1));
}
Set<Entry<Character,Integer>> entrySet = hashMap.entrySet();
Integer max = 0;
Character c = ' ';
//使用hashMap中的entrySet()方法获得键值对对象,再循环遍历
for (Entry<Character, Integer> entry : entrySet) {
if(max < entry.getValue()){
max = entry.getValue();
c = entry.getKey();
}
System.out.println(entry.getKey() + "===" + entry.getValue());
}
System.out.println("打印字母次数最多的:" + c + "-----" + max);
}
}
有如下的一个字符串,请统计出其中每一个字母出现的次数
最新推荐文章于 2022-02-22 20:50:12 发布