遍历Map方法一(通过HashMap类实现统计单词出现次数)
要求:通过命令行输入多个单词,单词之间用逗号分开,统计每个单词出现的次数,并把单词和其出现的次数分别打印出来,使用HashMap类实现。
输入单词如下图:
package michael.wlq;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class MapTest {
public static void main(String [] args) {
HashMap map = new HashMap();
for (int i = 0 ; i < args.length; i++) {
if (map.get(args[i] ) == null) {
map.put(args[i], new Integer(1));
}
else {
Integer in = (Integer) map.get(args[i]);
in = new Integer(in.intValue() + 1);
map.put(args[i], in);
}
}
Set set = map.keySet(); // 通过keySet()方法获取键的集合
for (Iterator iter = map.iterator; iter.hasNext(); ) { // 遍历键的集合,获取每个key,然后通过map.get(key)方法得到value。
String key = (String) iter.next();
Integer value = (Integer) map.get(key);
System.out.println(key + " : " + value);
}
}
}
输出结果为:
此例使用HashMap实现是有Map的特性决定的,因为Map的put(key, value)方法key是唯一的,而value是不唯一的,所以可以使用单词本身作为 key,以确保唯一性,而使用单词出现的次数作为value,从而可以实现要求。