package com.hm.cn;
import java.util.*;
/**
统计一个字符串中各个字母出现的次数
*/
class MapTest
{
public static void main(String[] args)
{
Map<Object,Integer> map = new HashMap<Object,Integer>();
//TreeMap<Object,Integer> map = new TreeMap<Object,Integer>();//使用treeMap会对键进行排序
String str = "asdfas4d?asd(asd)0fadf";
char[] charArray = str.toCharArray();
for(int i=0;i<charArray.length;i++){
if((charArray[i]>='a'&&charArray[i]<='z')||(charArray[i]>='A'&&charArray[i]<='Z')){//说明为字母
if(map.containsKey(charArray[i])){//如果map中已经有该字母的记录,数目+1
int num = map.get(charArray[i]);
map.put(charArray[i],num+1);
}else{//没有该字母的记录,添加记录,数目为1
map.put(charArray[i],1);
}
}
}
Set set = map.keySet();//获取map中所有的key
Iterator i = set.iterator();//使用迭代器
while(i.hasNext()){
Object obj = i.next();
System.out.println(obj.toString()+"---"+map.get(obj));//打印key以及对应的值
}
}
}
|