map2

来源:互联网 发布:医院的网络咨询赚钱吗 编辑:程序博客网 时间:2024/06/01 20:51

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);//}//取出方法2Iterator<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;}}


原创粉丝点击