利用map集合统计字符串各个字符的个数
现有字符串good good study,day day up.统计其各个字符出现的个数。在本例中把空格、逗号,句号也算作字符。如果不需要统计这些字符可通过正则表达式把它们筛选掉。
import java.util.HashMap;
import java.util.Map;
public class MapInfo {
public static void main(String[] args) {
String str="good good study,day day up.";
//创建HashMap集合
Map<Character, Integer> map=new HashMap<Character, Integer>();
for(int i=0;i<str.length();i++)
{
char ch=str.charAt(i); //通过charAt()方法得到字符串中字符
//判断集合中是否有该字符如果没有把该字符添加到map集合,并把value设为1
map.put(ch,1);
if (map.get(ch)==null) {
}else {
//如果集合中有该字符通过get方法得到它的出现次数,并加1重新添加到集合
map.put(ch, map.get(ch)+1);
}
}
/*
* foreach遍历map集合
* 利用keySet()遍历集合
*/
for(Character key:map.keySet())
{
System.out.print(key+"="+map.get(key)+",");
}
}
}
本例运行结果如下图
关于本例难点map集合的遍历方法可以参考map遍历的四种方式