您的位置:首页 > 编程语言 > Java开发

JAVA集合类练习

2015-12-23 17:54 369 查看
在HashSet集合中添加三个Person对象,把姓名相同的人当做同一个人,禁止重复添加。
提示:
Person类中定义name和age属性,重写hashCode()方法和equals()方法,针对Person类的name属性进行比较,如果name相同,hashCode()方法的返回值相同,equals方法返回true。

代码:
package Experiment.cqm;
import java.util.*;
public class Person {
private String name;
private int age;
public Person(String name,int age)
{
this.name=name;
this.age=age;
}

@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}

@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Person other = (Person) obj;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}

public String toString() {
return name+":"+age;
}

}
public class Test {

public static void main(String[] args) {
HashSet hs=new HashSet();
Person p1=new Person("Tom",18);
Person p2=new Person("Marry",18);
Person p3=new Person("Tom",19);
hs.add(p1);
hs.add(p2);
hs.add(p3);
System.out.println(hs);
}
}
运行结果:

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: