System.out.println("Collection="+c);
}
}
编译并运行程序,查看结果: map.size()=5
map.containsKey(1)=true
map.containsKey(null)=true
map.get(null)=null
map.get(2)=萝卜
map.get(null)=黄瓜
set=[null, 1, 2, 3, 4]
Collection=[黄瓜, 白菜, 萝卜, 茄子, null]
2、HashMap 中作为键的对象必须重写Object的hashCode()方法和equals()方法
下面看一个我花了1个小时构思的例子,熟悉龙枪的朋友看起来会比较亲切,设定了龙和龙的巢穴,然后把它们用Map集合对应起来,我们可以根据龙查看它巢穴中的宝藏数量,例子只是为了说明hashCode这个知识点,所以未必有太强的故事性和合理性,凑合看吧: import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) {
// 龙和它的巢穴映射表
Map<dragon , Nest> map = new HashMap<dragon , Nest>();
// 在Map中放入四只克莱恩大陆上的龙
map.put(new Dragon("锐刃", 98), new Nest(98));
map.put(new Dragon("明镜", 95), new Nest(95));