Map的key和value的使用

来源:互联网 发布:linux怎么卸载vsftpd 编辑:程序博客网 时间:2024/06/05 06:58
import java.util.Date;import java.util.HashMap;import java.util.Map; public class  AMap { public static void main(String[] args) { Map map = new HashMap();Person p1= new Person("Jn130101","张三");Person p2= new Person("Jn130102","张三2");//key用Person的Id,value使用Person对象map.put(p1.getId(), p1);map.put(p2.getId(), p2);System.out.println(map); //输出{Jn130101=Jn130101---张三, Jn130102=Jn130102---张三2} } } class Person{private String id;private String name;private double height;private Date birth;private boolean special;public Person() {}public Person(String id, String name) {super();this.id = id;this.name = name;}public Person(String id, String name, double height, Date birth,boolean special) {super();this.id = id;this.name = name;this.height = height;this.birth = birth;this.special = special;}public void speak(){System.out.println("speak()");}@Overridepublic String toString() {return id + "---" + name;}    //equals方法public boolean equals(Object obj) {if(this == obj){return true;}if(obj instanceof Person){Person person = (Person)obj;if(this.id == person.id && this.name.equals(person.name)){return true;}}return false;} //hashCode方法public int hashCode() {return id.hashCode();}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getHeight() {return height;}public void setHeight(double height) {this.height = height;}public Date getBirth() {return birth;}public void setBirth(Date birth) {this.birth = birth;}public boolean isSpecial() {return special;}public void setSpecial(boolean special) {this.special = special;}public String getId() {return id;}public void setId(String id) {this.id = id;}}