package cn.hp.work3;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/**
* 使用Map集合来做一个不同姓氏人数的统计
* 有一个String数组保存着10个人的姓名{"张三","李四","王二"...}
* 通过程序设计,把不同姓氏的姓氏和人数保存到Map集合中
*/
public class Demo03 {
public static void main(String[] args) {
//要统计的姓名
String[]arr = {"张三","李四","王小美","王老吉","张麻子","王子"};
//保存姓氏和对应的人数
Map<String,Integer> map = new HashMap<>();
for (int i = 0; i < arr.length; i++) {
//System.out.println(arr[i].charAt(0));
//这个姓在map(姓氏表)中出现了几次?1.出现过 2.没出现
Integer cs = map.get(arr[i].charAt(0) + "");
//如果当前这个姓氏出现过,cs=n
//如果当前这个姓氏没有出现过,cs=null
if(cs==null){
map.put(arr[i].charAt(0)+"",1);
}else{
map.put(arr[i].charAt(0)+"",++cs);
}
}
//遍历输出不同姓氏的人数
Set<String> set = map.keySet();//获取包含所有键(姓氏)保存到Set集合
for (String key:set) {
System.out.println(key+"姓人数:"+map.get(key));
}
}
}
运行结果: