由问题引出:
记录下面每个单词出现的次数;
love turns you and me to us.
思路是:
1. 分割字符串;
2.分拣包装:将每个单词做为一个Key,出现的次数对应Value;
3.输出出现次数;
下面代码撸起:
package collection4;
/**
*
* @author ItigerU
*
*/
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class TestDemo {
public static void main(String[] args){
String[] str = "love turns you and me to us.".split(" ");
Map<String, Integer> map = new HashMap<String, Integer>();
//这是第一种for循环:
for(String key : str){
if(!map.containsKey(key)){ //看容器里是否有这个key,如果没有,就放进去;
map.put(key, 1);
}else{
map.put(key, map.get(key) + 1); //如果有了key了,就把value+1;
}
}
//第二种for循环:
for(String key: str){
Integer value = map.get(key);
if(null == value){
map.put(key, 1);
}else{
map.put(map, value + 1);
}
//两种循环,其实思路是一样的,一个对key进行判断,一个对value进行判断;
Set<String> set = map.keySet();//利用迭代器把set给取出来;
for(Iterator<String> iter = set.iterator(); iter.hasNext();){ //这里是把容器里的给取出来;
String s = iter.next();
System.out.println(s + " : " + map.get(s));
}
}
}
这是第一种方法;