不同步的
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));
}
}
}
运行结果: