如何统计每个单词出现的次数:this is a cat and that is a mice and where is the food?
存储到Map中 key:String
value:自定义类型
"分拣"思路
思路(一)为所有key创建容器,之后容器中存放对应value
思路(二)第一次创建容器,并存放至value。第二次之后,直接使用容器存放值(边创建容器,边存值)
@author john
package HashMapApplication;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Demo1 {
public static void main(String[] args){
String str="this is a cat and that is a mice and where is the food";
//分割字符串
String[] strArray=str.split(" ");
//存储到Map中
Map<String,Letter> letters=new HashMap<String,Letter>();
//思路一
for(String temp:strArray){
//1.创建容器
if(!letters.containsKey(temp)){
letters.put(temp,new Letter());
}
//2.存放对应value
Letter col=letters.get(temp);
col.setCount(col.getCount()+1);
}
//输出Map的值
Set<String> keys=letters.keySet(); //得到所有的建
for(String key:keys){
Letter col=letters.get(key);
System.out.println("字母:"+key+",次数"+col.getCount());
}
//思路(二)
Letter col=null;
for(String temp:strArray){
if(null==(col=letters.get(temp))){
col=new Letter();
col.setCount(1);
letters.put(temp,col);
}else{
col.setCount(col.getCount()+1);
}
}
}
}