黑马程序员技术交流社区
标题:
泛型问题
[打印本页]
作者:
邱成
时间:
2012-10-2 23:03
标题:
泛型问题
本帖最后由 邱成 于 2012-10-3 22:26 编辑
import java.util.*;
public class TestArgsWords{
private static final int ONE=1;
public static void main(String args[]){
Map<String,Integer> m = new HashMap<String,Integer>();
for(int i=0;i<args.length;i++){
if(!m.containsKey(args
)){
m.put(args
,ONE);
}else{
int freq = m.get(args
);
m.put(args
,freq+1);
}
}
System.out.println(m.size());
System.out.println(m);
}
}
运行代码:
D:\java\collection>javac TestArgsWords.java
D:\java\collection>java TestArgsWords aaa bbb ccc ddd aaa aaa
输出结果:
4
{aaa=3, ddd=1, ccc=1, bbb=1}
里面有一个小问题没明白
int freq = m.get(args
); 这句话m.get(args
); 是获取他的value,为什么赋给一个int类型的可以实现计数。我是想是不是发现一次aaa 算1次 第二个aaa算第二次?
作者:
高照
时间:
2012-10-2 23:29
表达下个人见解
就这个程序Map<String,Integer> m = new HashMap<String,Integer>();
Key中存的是aaa,bbb,ccc,...
value中存的是相同key已出现的次数,通过对他计数,可以得到相同key出现的次数。
作者:
申振华
时间:
2012-10-3 00:00
不知道楼主要问什么
目测 :m.put(args[i],freq+1); //这行代码不就是存在相同key,value加1. 不就刚好起到了计数效果吗。
作者:
黄小贝
时间:
2012-10-3 03:45
楼主玩dota波? 比如天梯计算楼主每个英雄获胜的场次~假设所有英雄已经在Map里面了~~
存的格式为 Map<英雄名称,胜场>
{
(JB脸,0)
(英雄A,0)
(英雄B,0)
(英雄C,0)
}
比如你玩你最爱的JB脸~ 赢了~~从Map里面取出看JB脸的胜场是多少~~不管多少~加个1再存进去就是了~~后面的情形类似~~
想知道最后你的JB脸赢了多少次~~getValue("JB脸")就是了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2