一. 问题描述:输入一个字符串,统计每个字符的出现次数,大写字母也按小写字母算;并输出出现频率最多的5个字符和他们出现的次数,以|分割。
二. 代码
public static String countLettersInString(String inputText) {
if(inputText==null) return "";
String lowStr=inputText.toLowerCase();
String[] array=lowStr.split("");
Map<String,Integer> map=new HashMap<String,Integer>();
//LinkedHashMap 和HashMap的区别是循环前者时,是按存储顺序输出的。
Map<String,Integer> map2=new LinkedHashMap<String,Integer>();
//step 1, 将每个字符作为key,其出现的频率作为value,保存到map中
map.put(array[0], 1);
for(int i=1;i<array.length;i++) {
if(map.containsKey(array[i])) {
map.put(array[i], map.get(array[i])+1);
}el