HashMap存储自定义类型键值
Map集合保证key是唯一的:
作为key的元素,必须重写hashCode方法和equals方法,以保证key唯一
(如果没有重写,那么map里面的自定义类的键值对会重复,重写了就只有一个)
在下面的例子中,如果没有重写hashCode方法和Equals方法,map里面会有四个元素。
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class DemoHashMap {
public static void main(String[] args) {
Map<Person,String> map = new HashMap<>();
map.put(new Person("女王",18),"英国");
map.put(new Person("秦始皇",19),"中国");
map.put(new Person("普京",30),"俄罗斯");
map.put(new Person("女王",18),"毛里求斯");
Set<Person> set = map.keySet();
for(Person one: set){
System.out.println(one+":"+map.get(one));
}
}
}