package test1;
import java.util.*;
//import java.util.Scanner;
//利用HashSet添加三个对象
class Person{
String name;
int age;
public Person(String name,int age) {
super();
this.name=name;
this.age=age;
}
//重写hashCode()方法
public int hashCode() {
return name.hashCode();
}
//重写equals()方法
public boolean equals(Object obj) {
if(this==obj)//判断是否为同一个对象
return true;
if(obj==null)
return false;
Person p=(Person) obj;//将对象强转为person类型
return p.name.contentEquals(this.name);//判断name值是否相同的判断结果
}
}
public class Main {
public static void main(String[] args) {
HashSet hashSet=new HashSet();
Person p1=new Person("Jack",21);
Person p2=new Person("Rose",20);
Person p3=new Person("Jack",28);
hashSet.add(p1);//向集合添加元素
hashSet.add(p2);
hashSet.add(p3);//哈希值与第一个对象相同,因此被舍弃
for(Object obj:hashSet) {
Person p=(Person)obj;
System.out.println(p.name+":"+p.age);
}
}
}
结果
Rose:20
Jack:21