遍历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,从而可以实现要求。

 

posted @ 2014-05-20 18:51  michael_wlq  阅读(990)  评论(0编辑  收藏  举报