HashMap 在工作中非常常用 为了方便理解学习了两种分拣思路。
第一种,先遍历所有的key然后为这些key创建相应的容器,之后再对应的容器中存放value。
第二种,为第一个对象创建容器,并存放值value。第二次之后,直接使用容器存放值。
/**
* "分拣"思路
* 为所有的key创建容器,之后容器中存放对应的value
*/
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){
//为所有key创建容器
if(!letters.containsKey(temp)){
letters.put(temp, new Letter());
}
//之后容器中存放对应的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()+"次!");
}
}
}
欢迎大神指点,本人虚心请教,只想慢慢沉淀。
/**
* "分拣"思路
* 第一个创建容器,并存放值value。第二次之后,直接使用容器存放值。
*/
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Demo2 {
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){
Letter col = null;
//为所有key创建容器
if(null==(col=letters.get(temp))){
col = new Letter();
col.setCount(0);
letters.put(temp,col);
}
//之后容器中存放对应的value
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()+"次!");
}
}
}
身为独生子女一代成长的我们,小时候没有兄弟姐妹。我们就是父母心中的唯一,长大后我们在外举目无亲,他们在家老无所依。有一天,他们中的一个
会先行离去,另一个注定孤苦伶仃。其实我们最难过的,不是找不到人来结婚生子,而是没时间陪伴我们的至亲。我们所能做的不过是一句,我在外面挺好的,您老多多注意身体......