zzzz
import java.util.*;
class Demo2 {
public static void main(String[] args) {
Map<Student,String> mp=new HashMap<Student,String>();
mp.put(new Student("lisi",10),"hangzhou");
mp.put(new Student("wangwu",11),"shanghai");
mp.put(new Student("zhangsan",12),"beijing");
//取出方法1
// Set<Map.Entry<Student,String>> me=mp.entrySet();
// Iterator<Map.Entry<Student,String>> eit=me.iterator();
// while(eit.hasNext()){
// Map.Entry<Student,String> m=eit.next();
// Student key=m.getKey();
// String value=m.getValue();
//
// sop(key.toString()+" 地址:"+value);
// }
//取出方法2
Iterator<Student> it=mp.keySet().iterator();
while(it.hasNext()){
Student stu=it.next();
String value=mp.get(stu);
sop(stu.toString()+" 地址"+value);
}
}
public static void sop(Object obj){
System.out.println(obj);
}
}
class Student implements Comparable<Student>{ //实现Comparable接口
private String name;
private int age;
public Student (String name,int age){
this.name=name;
this.age=age;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age=age;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public String toString(){
return "姓名:"+name+" 年龄:"+age;
}
public int compareTo(Student s){ //TreeSet比较方法
int num=new Integer(this.age).compareTo(new Integer(s.age));
if(num==0)
return this.name.compareTo(s.name);
return num;
}
public int hashCode(){ //重写hashCode方法
return age+38+name.hashCode();
}
public boolean equals(Object obj){ //重写学生的equals方法
if(!(obj instanceof Student))
throw new ClassCastException("shaazhe");//抛出异常
Student s=(Student)obj;
return this.name.equals(s.name) && this.age==age;
}
}