//key不能重复啊! 害死了多少个脑细胞啊! 就是利用这一点来存值 把值存入key中,次数存入key对应的value中
//还有就是: 新添加的值与Map中原有的key值重复时,会将新的值【覆盖】重复的key对应的那条value
public static void main(String[] args) {
/** 用HashMap实现args参数中的元素每个元素出现的次数
*/
HashMap map=new HashMap();
Collection values= null;
for(int i=0;i<args.length;i++){ //遍历args数组
String newValue= String.valueOf(args[i]);
if(map.get(newValue)==null){ //如果map中不存在该key值
map.put(newValue, 1); //把args数组中的值赋值到map的key中; 初始次数为1,并赋值到value中
}else{ //如果map中已存在该key值
int count=(Integer)map.get(newValue); //取出map中当前key的value----也就是key之前出现的次数
map.put(newValue, count+1); //将args数组中的元素赋值到key中,把该key之前出现的次数+1 再存入
}
}
Set keySet= map.keySet();
int max=0;
int min=0;
for(Iterator i=keySet.iterator();i.hasNext();){
String key=(String) i.next();
Integer value=(Integer) map.get(key);
if(max==0){
max=value;
}else if(max<value){
max=value;
}
if(min==0){
min=value;
}else if(min>value){
min=value;
}
System.out.println("key:"+key+", value:"+ value);
}
System.out.println("最大值:"+max+", 最小值"+min);
}