/**
* 通过hashmap实现统计字符串数组中某个字符串出现的次数的方法
*/
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class AccountStringDemo {
public static void main(String[] args) {
String [] strs={"zhangsan","lisi","zhangsan","wangwu","lisi","zhaoliu"};
AccountUtil.printData(AccountUtil.account(strs));
}
}
class AccountUtil{
public static Map<String , Integer>account(String [] strs) {
//产生一个容器
Map<String , Integer>data=new HashMap<String ,Integer>();
for (int i = 0; i < strs.length; i++) {//通过下标来取出字符串中的一个个元素
String str=strs[i];//先把第一个字符串取出来
//判断一下hashmap中的key有没有,如果没有则收录 hashmap中
if (data.get(str)==null) {//第一次统计到字符串
data.put(str, 1);//把这个字符串作为键,值为第一次收入
}else {
//取出key所对应的值加一
data.put(str, (data.get(str)+1));//累加
}
}
return data;//最终返回hashmap里面的值
}
//打印一下hashmap中的数据
public static void printData(Map<String , Integer>data) {
Set<Entry<String, Integer>> entrys=data.entrySet();
for (Entry<String, Integer> entry : entrys) {//通过增强for循环遍历输出
System.out.println(entry.getKey()+"出现的次数为"+entry.getValue());
}
}
}