HashMap<Student,String> hm = new HashMap<Student,String>();
hm.put(new Student("lisi1",21),"beijing");
hm.put(new Student("lisi2",22),"shanghai");
hm.put(new Student("lisi3",23),"nanjing");
hm.put(new Student("lisi4",24),"wuhan");
//第一种取出方式keySet
Set<Student> keySet = hm.keySet();
Iterator<Student> it = keySet.iterator();
while(it.hasNext())
{
Student stu = it.next();
String addr = hm.get(stu);
System.out.println(stu.getName()+":"+stu.getAge()+"...."+addr); //打印输出时这样修改就行了,因为 stu 是一个对象,如果直接打印,输出的就是它的地址值。要想直接调用stu打印出其name和age,一个方法是重写Student类的toString方法,另外一个就是我上面说的这种方法。因为对象类从Object这个超类中继承了toString方法,其默认返回的就是一个地址值。