java 中Map 常用的子类 之 HashMap

来源:互联网 发布:淘宝打造爆款团队 编辑:程序博客网 时间:2024/06/10 06:26

不同步的


import java.util.HashMap;import java.util.Iterator;class Person{    String name;    int age;    Person(String name,int age)    {        this.name=name;        this.age=age;    }    @Override    public int hashCode() {        //自定义哈希值        return name.hashCode()+age;    }    @Override    public boolean equals(Object obj) {        //如果哈希值相同 就会判断 这个内容是否相同 如果 equals 返回true 就不会在插入进来        System.out.println("equals...."+((Person)obj).name+" "+((Person)obj).age);        return this.name.equals(((Person) obj).name)&&this.age==((Person) obj).age;    }}class Main{    public static void main(String args[])    {        HashMap<Person,String> hashMap=new HashMap<Person, String>();        hashMap.put(new Person("神奇的我",12),"神奇");        hashMap.put(new Person("abcc",15),"abc1");        hashMap.put(new Person("abbb",17),"abc23");        hashMap.put(new Person("abcc",15),"abcccc");        Iterator<Person> i=hashMap.keySet().iterator();        while (i.hasNext())        {            Person key=(Person) i.next();            System.out.println(key.name+".."+key.age+".."+hashMap.get(key));        }    }}

运行结果: